DOS ET ProDOS.

Pour les versions USA d'origine cliquez sur les drapeaux

Nota pour les pervers :
Il ne s'agit pas d'une traduction intégrale et littérale mais bien d'une adaptation...
la source est citée car elle est largement reprise! il s'agit d'honnêteté intellectuelle.
001- Qu'est ce que le "DOS" ?
DOS signifie DISK OPERATING SYSTEM. Un DOS est un ensemble de routines en langage machine et de données qui permettent à un ordinateur de lire et écrire des informations de/vers un disque. Un DOS comporte des commandes du genre SAVE et LOAD qui permettent de créer et d'accès aux fichiers.

Le DOS APPLE II, le DOS COMMODORE 64 et le DOS utilisé sur PC sont tous appelés DOS mais ce sont des systèmes totalement différents. Leurs commandes sont parfois similaires parce que les utilisateurs veulent faire à peu près la même chose sur tous les oridnateurs mais les méthodes utilisées par chacun de ces DOS pour enregistrer et garder la trace des données sont très différentes. Vous ne serez pas capable de lire des fichiers d'une disquette de C64 sur une APPLE II qui exécute le DOS 3.3
002- Quels DOS's sont disponibles sur les Apple II ?
Le DOS 3.3 est le système le plus largement utilisé sur APPLE II. De nombreux programmes ont été écrits en utilisant les commandes DOS et ont été enregistrés sur des disquettes DOS 3.3. APPLE a officiellement remplacé le DOS 3.3 par ProDOS dans le début des années 80, cependant le DOS 3.3 est resté très populaire auprès des utilisateurs d'APPLE II.

Un autre DOS a été introduit sur le marché APPLE avec APPLE PASCAL. Comparé au DOS 3.3 et à ProDOS, le DOS APPLE PASCAL est très limité et est un système encombrant.
003- Y a-t-il de meilleures versions du DOS 3.3 ?
Oui . La plupart des utilisateurs de DOS 3.3 en fait utilisent des DOS modifié plus rapides. Deagle Bros a fourni patchs qui améliorent la vitesse, la place sur disquette et ajoutent un commande CATALOG qui affiche le nombre de secteurs libres. Prontodos est pratiquement la version standard de DOS 3.3 utilisée.

ES DOS II ajoute peu de modifications à Prontodos. la commande CATALOG montre le nombre de secteurs et de pistes libres, affiche entièrement le catalogue avec un système de scroll plutôt que de s'arrêter en fin de listage. ES DOS II vous permet également d'utiliser le caractère : comme joker. Ce DOS inclut un patch qui permet d'afficher correctement la taille des fichiers de plus de 255 secteurs.

Les autres DOS populaires et rapides sont David DOS et Diversi DOS. Il y a eu également des DOS plus spécialisés tel RDOS utilisé par SSI pour ses jeux de wargame.

BLOAD
INIT
CAT
Lib 15 Sect
Aff.Sect.Lib
Message erreur
DOS 3.3 Standard
8.9 sec
Oui
Non
Non
Non
Oui
DavidDOS
2.8 sec
Non
Oui
Non
Oui
Oui
DiversiDOS
2.9 sec
Oui
Oui
Non
Oui
err#
EsDOS
2.3 sec
Oui
Oui
Oui
Oui
Abregés
ProntoDOS v1
3.0 sec
Oui
Non
Oui
Non
Oui
ProntoDOS v2
3.0 sec
Oui
Non
Oui
Oui
Oui
004- Quelles sont les commandes du DOS 3.3 ?


Pour en savoir plus sur toutes les commandes du DOS il est préférable de lire le manuel DOS qui détaille évidement chacune d'entre elles.

Le manuel est disponible sur l'excellent site www.apple-iigs.info (cliquez sur manuel ci-contre pour avoir le fichier pdf... le chargement n'est pas immédiat!)
LOAD FICH1 Charge le fichier BASIC appelé FICH1.
SAVE FICH1 Sauve le fichier BASIC en mémoire sous le nom FICH1.
DELETE FICH1 Efface le fichier appelé FICH1
CATALOG Liste le contenu de la disquette à l'écran
RENAME FICH1, FICH2 Renomme le fichier FICH1 en FICH2
RUN FICH1 Charge et lance fichier BASIC appelé FICH1
BLOAD FICH1.PICTURE, A$2000 Charge le fichier binaire FICH1.PICTURE à partir de l'adresse $2000.

note: $2000 est un nombre hexadecimal ($2000 correspond à 8192 en décimal). Les commandes DOS peuvent utiliser les nombres en hexadecimal ou en décimal .
BSAVE FICH1, A$300, L$7F Sauve $7F octets de mémoire à partir de l'adresse $300 en tant que fichier binaire appelé FICH1. (BSAVE FICH1, A768, L127 utilise les nombres decimaux pour faire la même chose)

Cette commande illustre typiquement la syntaxe des commandes DOS :
BSAVE la commande DOS
FICH1 le nom de fichier (l'espace entre la commande et le nom de fichier n'est pas nécessaire; BSAVENARF est identique)
, une virgule pour séparer le nom de fichier des paramétres qui suivent
A une adresse suit
$300 l'adresse en forme hexadécimale (= 768). à nouveau les espaces ne servent à rien A768, A 768, A $ 300 fonctionnent pareil
, une virgule pour séparer un paramétre des suivants
L une longueur suit
$7F la longueur en forme hexadécimale (= 127); c'est le nombre d'octets à sauvegarder

La commande équivaut à dire : sauvegarde $7F octets, à partir de l'adresse $300, dans un fichier appelé FICH1.

FICH1 contiendra donc les octets de l'adresse $300 à $37E (attention le 0 compte pour 1)

Nota: L'ordre des paramétres qui suivent le nom de fichier est sans importance.
BRUN FICH1.DISP, A$1000 Charge en mémoire le fichier binaire appelé FICH1.DISP à l'adresse $1000 et lance l'exécution en démarrant à l'adresse $1000
LOCK FICH1 Verrouille le fichier FICH1 (indiqué par * dans le CATALOG). Les fichiers verrouillés ne peuvent pas être effacés ou réécrits, etc.
UNLOCK FICH1 Déverrouille le fichier FICH1.
VERIFY FICH1 Utilise les checksums pour vérifier qye FICH1 n'est pas endommagé
MON C, I, O Permet au DOS d'afficher les commandes, les entrées à partir du disk, les sortie vers le disk. On peut préciser un, deux ou les trois paramètres
NOMON C, I, O Annule la demande faite par MON. NOMON I annule uniquement la demande "I" .
MAXFILES 7 Positionne le nombre maximum de buffers de fichiers (au boot du DOS, la valeur par défaut est 3)
PR#1 Positionne les sorties de l'Apple vers le périphérique en Slot 1 (habituellement une imprimante). PR# 3 positionne vers le Slot 3, etc.. PR# 0 revient à une sortie vers l'écran
PR#6 Normalement cela lance la disquette en Drive 1 sur le Slot 6.
IN# 6 Positionne la source des entrées sur le périphérique en Slot 6.
IN# 0 Positionne la source des entrées sur le clavier (par defaut).
INT Met le système en BASIC ENTIER s'il est présent (integer) .
FP Met le système en BASIC standard Applesoft (floating point) .
OPEN FICH1 Prépare pour écrire ou lire un fichier TEXT appelé FICH1.
READ FICH1 Dit au DOS que les INPUT et GET se feront à partir d'un fichier TEXT appelé FICH1
WRITE FICH1 Dit au DOS que les caractères écrits iront dans un fichier TEXT appelé FICH1
CLOSE FICH1 Utilisé pour finir les accès à un fichier TEXT appelé FICH1. Utiliser uniquement CLOSE ferme les accès à tous les fichiers ouverts.
EXEC FICH1GO Dit au DOS d'exécuter les commandes BASIC et DOS contenues dasn le fichier TEXT appelé FICH1GO
les commandes des fichiers TEXT prenent en compte les fichiers TEXT sequentiels. Le DOS peut également faire des OPEN, READ, WRITE, ... sur des fichiers TEXT en accès aléatoire. (Voir le manuel DOS .)

La plupart des commandes DOS vous permettent de spécifier les numéros de Drive et/ou Slot. Par exemple :
CATALOG, D2 liste le contenu de la disquette du Drive 2 à l'écran.
SAVE FICH1,S5,D2 sauvegarde FICH1 sur le Drive 2 dans le Slot 5.

NOTE --> L'utilisation des paramétres Drive ou Slot parms dans une commande DOS positionne les valeurs par défaut. Ainsi, avec CATALOG, D2, les commandes LOAD ou SAVE se feront sur le Drive 2.
005- Cmt utiliser les commandes DOS à partir du clavier ? d'un prog.?
Pour utiliser une commande à partir du clavier, il suffit de la taper comme décrit dans le manuel. Par contre pour utiliser une commande dans un fichier vous devrez la mettre entre guillemets et la faire précéder par PRINT CHR$(4)

Exemple d'une ligne en BASIC :

100 PRINT CHR$(4)"BLOAD FICH1, A$2000"
006- Comment utiliser les variables dans une commande DOS ?
Voyons sur un exemple comment il faut procéder :

120 PRINT CHR$(4)"BSAVE FICH1, A$2000,L",NB

La longueur de FICH1 est la valeur de la variable NB qui est en décimal le nombre d'octets à sauvegarder
007- Comment créer une nouvelle disquette en DOS 3.3 ?
Une des meilleurs fonctionnalités du DOS 3.3 est que n'importe quelle disquette peut créer une autre disquette bootable. La commande pour faire cela est la très classique :

INIT HELLO

Cette commande formate la disquette présente dans le drive actif et sauve le programme BASIC en mémoire sous le nom HELLO (original n'est-ce pas ?)

Le dit programme HELLO s'exécute dès le DOS 3.3 chargé en mémoire. C'est pourquoi on écrit en général un programme de bienvenue ou de listage des fichiers de la disquette du genre :

120 PRINT CHR$(4)"CATALOG"
110 END


Vous pouvez changer par la suite le programme HELLO de la disquette et le remplacer par tout autre programme en BASIC. NOTA IMPORTANT : le nom HELLO n'est pas une obligation, vous pouvez l'appeler TOTO TATA ou TITI cela n'a aucune espèce d'importance. la seule restriction est que le programme qui se lancera après le chargement du DOS est celui que vous aurez indiqué dans la commande INIT...

Ce nom n'est théoriquement pas changeable mais il existe des utilitaires tel COPY II+ qui peuvent "bricoler" le DOS et remplcaer le nom initial par tout autre après que vous ayez fait votre disquette.
008- Combien peut-on stocker sur une disquette 5.25" ?
Une disquette DOS 3.3 standard a 35 pistes de 16 secteurs d 256 octets donc cela fait :

35 * 16 * 256 = 143 360 octets

Une piste contient 16 * 256 = 16.256 octets par piste

Les versions de DOS 3.3, ProntoDOS etc... utilisent pour eux-mêmes les pistes 0,1 et 2 (1 secteur sur cette dernière) et la piste 17 pour le catalogue des fichiers. Cela laisse donc environ 130 KO pour votre programme HELLO et autres données

Attention le DOS 3.3 n'est pas comme MS/DOS ou ProDOS, il n'est pas visible dans le catalogue et est installé physiquement sur les pistes 0,1et 2. Il n'y a pas dans le catalogue un fichier "DOS 3.3", même pas caché.
009- Puis-je formatter un disque DOS3.3 juste pour stocker des données ?
Oui mais il faut utiliser des utilitaires comme COPY II PLUS qui formattent la disquette sans ajouter le DOS et le programme HELLO. L'utilitaire par contre va créer la piste catalogue en piste 17 et installer une VTOC correcte (Volume Table Of Contents) Cela donne une disquette mais non bootable mais totalement utilisable (à la piste 17 près qui est reservée pour le catalogue).
010- Qu'est ce que le "Volume Table of Contents" ou "VTOC" ?
La VTOC est un secteur qui stocke des informations de base comme le nombre de pistes, le nombre de secteurs par piste, la version du DOS etc.. and la carte des secteurs libres/utilisés. Le DOS 3.3 écrit la VTOC sur la piste 17 en secteur 0. Le détail de la VTOC est donné plus loin en réponse numéro 19
011- Puis je donner des noms à mes disquettes DOS 3.3 ?
Le DOS 3.3 ne peut pas donner un nom à un disquette, et donc à fortiori le reconnaître. Par contre il est possible de différencier les disquettes en leur donnant un numéro de volume... limité à l'intervalle 1 - 255. Le numéro de volume est défini au moment de l'initialisation par la commande, par défaut le numéro de volume sera 254 :

INIT HELLO, V19

Cela initialise une disquette en lui attribuant le numéro 19

Le numéro de volume peut être utilisé par des applications pour être certain que l'utilisateur insère la disquette demandée.

LOAD FICH1,D2 ,V5

Cette commande charge le fichier FICH1 qui doit être sur la disquette numéro 5 présente dans le drive 2

Quelques anciennes applications utilisaient le numéro de volume et les jeune utilisateurs aiment bien également le faire mais en pratique cela ne s'avère pas être une bonne idée. Une disquette avec un numéro devolume (sauf le numéro par défaut 254) est parfois utilisée avec difficulté par des utilitaires standards. Changer le numéro de volume après l'initialisation n'est pas aisé car il est présent dans chaque entête de secteur... et il est plus facile de réinitialiser la disquette.

Il est plus facile de décire les disquettes en écrivant par exemple "JEUX DISK1" dans un fichier TEXT nommé DISK.ID . Ainsi Vos programmes pourront alors avoir le nom de la disquette en allant lire le fichier DISK.ID.
012- Que faire pour booter un disque ?
Le BOOT vient de l'idée que l'utilisateur peut faire lui-même le chargement de ses programmes comme il l'entend en sachant que la ROM de la carte contrôleur de la disquette a juste le code pour charge le secteur 0 de la piste 0 à l'adresse $800 et de faire un saut en $801 pour exécuter ce qui vient d'être chargé. Là vous comprennez immédiatement qu'il est quasiment impossible de protéger un programme sur APPLE II car le boot de ce premier secteur qui est STANDARD, est TOUJOURS fait de cette façon. Le tracé de BOOT est d'ailleurs la SEULE méthode propre qui garantit une déprotection jusqu'au chargement du programme...ensuite il reste à comprendre le programme pour trouver les autres protections...

En BOOTANT le DOS 3.3 la ROM charge le premier secteur puis continue le chargement du DOS en le déplaçant correctement dans les zones mémoire où il doit être implanté. Il initialise certaines positions memoire pour préciser qu'il a déjà fait un chargement à froid (premier chargement)
013- Quels sont les types de fichiers sous DOS 3.3 ?
Sous le DOS 3.3 c'est le troisème octet de l'entrée de chaque fichier dans le catalogue qui donne le type de fichier.
Valeur
00
01
02
04
08
10
20
40
Type de fichier
T : TEXTE
I : BASIC INTEGER
A : BASIC APPLESOFT
B : BINAIRE
S : TYPE S
R : TYPE R : MODULE RELOGEABLE
A : TYPE A NOUVEAU
B : TYPE B NOUVEAU
Le DOS 3.3 positionne le bit 7 à 1 de ces valeurs de type de fichier pour préciser que le fichier est verrouillé.

Les types R sont utilisés dans quelques rares applications. Un fichier R commence avec 6 octets pour indiquer quel chargeur utiliser à quelle destination, combien d'octets à déplacer et d'où part la source.

Bien que les fichiers S, A nouveau et B nouveau existent, aucune application officielle n' a été définie pour eux et aucune commande DOS n'a été créée pour les utiliser.

Il y a un chargeur de type R inclut dans le TOOKIT pour utilisation avec des programmes BASIC et des routines relogeables qui sont chargées en haut de la mémoire.

Le type S a été utilisé par quelques programmes pour un nom de fichier d'image ou pour des objets qui n'étaient pas susceptibles d'être utilisables par du code normal.

L'assembleur LISA a utilisé le deuxième type B pour ses fichiers source. Il a eu une version modifiée du DOS pour changer la liste des types de fichier (LARSBAIT) ainsi les fichiers sources apparaissent comme L si vous utilisez LISA et comme B si vous utilisez un disque normal.

Les types B, A, R et S ne sont pas accessibles aux programmes BASIC (sauf si vous modifiez le DOS). Les commandes ne sont prévues que pour les type B, A, I et T
014- Qu'est-ce que les entrées dans un catalogue DOS 3.3 ?
La commande CATALOG d'un disque en DOS 3.3 donne un listing de ce type :
*



A
B
T
I
002
033
142
002
HELLO
TETRA/SOFT LOGO.BIN
DAVE'S LIST OF DOS COMMANDS
INTEGER BASIC PROGRAM
L'étoile indique que le fichier est verrouillé
Type de fichier
Taille du fichier en secteurs
Nom du fichier
015- DOS 3.3 noms de fichiers: longueur? caractères autorisés ?
Les noms de fichiers ous DOS 3.3 peuvent avoir jusqu'à 30 caractères maximum et respecter quelques restrictions :

1. Le premier caractère doit être un ASCII de valeur supérieur à 63 ce qui exclut les numériques, l'espace, et la plupart des signes de ponctuation. Le caractère "@" est admis comme les lettres de même certains caractères comme ""] "~" "_" et autres

2. Pour les autres caractères après le premier, seuls les virgules et points ne peuvent pas être utilisés. Cependant tous les autres types de caractères sont autorisés, que ce soit des majuscules, minuscule, nombres, symboles et caractères de contrôle.
016- Cmt utiliser le DOS 3.3 pour lire/écrire des sect. en assembleur ?
DOS 3.3 procède ainsi:

JSR $3E3     ; obtient l'adresse de l' IOB de la RWTS (adresse basse dans Y, adresse haute dans A)

Evidement vous pouvez placer directement l'adresse de votre propre IOB ... en particulier ceux qui lisent HARDCORE COMPUTIST

JSR $3D9     ; appel RWTS (avec l'adresse IOB dans Y et A)

L'IOB (Input/Output Block) est une petite table d'informations dont la decription est la suivante :
    $00       type de table (toujours $01)
    $01       slot *16
    $02       drive (1 or 2)
    $03       numero de volume attendu ($00 pour tous)
    $04       track ($0-$22)
    $05       sector ($0-$0f)
    $06-07  adresse (low/high) de la DCT (Device Characteristics Table)
    $08-09  adresse (low/high) du buffer des 256 octets lus ou écrits
    $0A       non utilisé
    $0B       compteur pour des morceaux de secteur ($00 for 256 bytes)
    $0C       code de commande (0=seek, 1=read, 2=write, 4=format)
    $0D       code retourné (carry set si erreur):

        Les codes erreurs sont les suivants :
        $00 = no errors
        $08 = error during initialization
        $10 = write protect error
        $20 = volume mismatch error
        $40 = drive error
        $80 = read error (obsolete)


    $0E       numéro de volume lors du dernier accès (doit être initialisé)
    $0F       numéro de slot *16 lors du dernier accès (doit être initialisé)
    $10       numéro de drive lors du dernier accès (doit être initialisé)


La DCT (Device characteristics table):

    $00       device type (doit être $00 pour le DiskII)
    $01       phases par track (doit être $01 pour le DiskII)
    $02-03  Délai pour le moteur (doit être $EFD8 pour le DiskII)


NOTA : La RWTS utilise la page zero en $48, qui est aussi utilisée par le moniteur pour garder la valeur du registre P. Cette adresse $48 doit être remise à zero après chaque appel à la RWTS.
017- Combien de versions 'officielles' de DOS 3.3 y-a-t-il ?
Si l'on est d'accord avec The Dostalk Scrapbook, il y aurait trois versions du DOS 3.3 qu l'on peut différencier en tapant PRINT PEEK (46725)

si en retour vous avez :
    165: la plus vieille version(1980)
    186: la meilleure (January 1, 1983)
    182: ce serait la plus récente mais personne n'en n'est sûr
018- Comment trouver adresse/taille d'un fichier chargé par BLOAD ?
Pour la longueur du fichier tapez :
PRINT PEEK(43616) + 256 * PEEK(43617)

Pour l'adresse de chargement
PRINT PEEK(43634) + 256 * PEEK(43635)
019- Quelles sont les infos présentes en secteurs VTOC et CATALOG ?
La table des matières du volume (VTOC)

Elle est placée sur le secteur $00 (0) de la piste $11 (17). C'est le secteur principal à partir duquel démarrent toutes les recherches.

Exemple : Secteur VTOC d'un disque classique en DOS 3.3

Byte  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 

0000- 04 11 0F 03 00 00 FE 00 00 00 00 00 00 00 00 
0010- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0020- 00 00 00 00 00 00 00 7A 00 00 00 00 00 00 00 
0030- 15 01 00 00 23 10 00 01 00 00 00 00 00 00 00 
 .... 
0080- 3F 7F 00 00 00 00 00 00 00 00 00 00 00 00 00 
 .... 
00F0- 00 00 00 00 00 00 00 7A 00 00 00 00 00 00 00 

Octet     Description
-----     -----------
$00       Non utilisé ( $04 en principe) 

$01-02    Track/Sector du secteur de catalogue-- la position
          standard est Track $11/Sector $0F (17/15) 
          Nota: La première position du secteur de catalogue 
	 peut être différente sur certains disques. 
	 DOS 3.3 peut l'ajuster mais des utilitaires 
          comme Copy II Plus  imposent  T/S = $11/$0F  
          et ne sont pas capables de trouver le début 
          de catalogue ailleurs.
	   
$03       DOS version  ($03 pour DOS 3.3) 

$04-05    Non utilisé 

$06       Volume Number -- $01-$FE (1-254) est la plage classique; 
          $FE (254) la valeur par défaut
          Nota: Cette entrée enregistre une référence quand un disque 
	 est  initialisé avec INIT,  cette valeur  est inscrite dans 
	 l'entête d'adresse de chaque secteur
	   
$07-26    Non utilisé 

$27       Nombre maximum  de paires Track/Sector dans chaque secteur de la TSL 
          (Track/Sector list) normalement la valeur est $7A (122) 
	   
$28-2F    Non utilisé 

$30       Dernière piste sur laquelle des secteurs sont alloués 

$31       Direction de l'allocation  
            $01 (+1) = vers l'intérieur ; 
            $FF (-1) = vers l'extérieur 

$32-33    Non utilisé 

$34       Nombre de pistes par disque  : normalement  $23 (35) 

$35       Nombre de secteurs par piste : normalement  $10 (16) 

$36-37    Nombre d'octets par secteur  : normalement  $0100 (256) 

$38-3B    Bit map de la piste  $00  quatre octets par entrée (seuls 2 octets sont utilisés) 
          chaque bit de ces deux octets indique un secteur :
		  soit utilisé (=0) 
		  soit  libre  (=1)
          voir exemple plus bas. 
	   
$3C-3F    Bit map de la piste   $01 
 .... 
 
$80-81    Bit map de la piste   $12 (18) 
          Exemple: l'entrée montre 3F 7F 00 00. 
		  seuls les deux premiers octets sont donc utilisés (3F 7F) : 
		  
          Secteur-  F E D C  B A 9 8   7 6 5 4  3 2 1 0 
          Bit       0 0 1 1  1 1 1 1   0 1 1 1  1 1 1 1 
          Hex          3        F         7        F 
		  
          cela nous montre que sur la piste $12 seuls 
		  les secteurs $F, $E, et $7 (15, 14, et 7) sont utilisés. 
		  les autres secteurs de la piste sont disponibles. 
 .... 
 
$C0-C3    Bit map de la piste $22 (34) en principe la dernière piste 

$C4-FF    Non utilisé sur les disquettes normales  (peut cependant 
          contenir des  bit maps complémentaire pour les disquettes 
	 de plus de 35 pistes) 
Catalogue

Commençe à la piste $11/Secteur $0F (17/15 en décimal) allant en décrementation sur la piste (exemple secteur $0E, puis $0D...) et chaque secteur du catalogue contient un pointeur vers le prochain secteur de catalogue et sept entrées :
Octet     Description
-----     -----------
$00       Non utilisé 
$01       Numéro de Piste du prochain secteur de catalogue  
          ($00 si fin) 
$02       Numéro de Secteur du prochain secteur de catalogue 
$03-0A    Non utilisé 
$0B-2D    1ère entrée de fichier
$2E-50    2ème entrée de fichier 
$51-73    3ème entrée de fichier 
$74-96    4ème entrée de fichier 
$97-B9    5ème entrée de fichier 
$BA-DC    6ème entrée de fichier 
$DD-FF    7ème entrée de fichier 
Chaque entrée de fichier a la structure suivante :

Octet     Description
-----     -----------
$00       numero de piste   en track/sector list 
$01       numero de Secteur en track/sector list 
$02       File type: 
          Bit   Signifie 
          ---   -------- 
           7     0=unlocked, 1=locked 
           6-0   File type 
		$00 = Text, 
		$01 = Integer, 
		$02 = Applesoft, 
        		$04 = Binary, 
		$08 = S, 
		$10 = Relocatable, 
		$20 = A, 
		$40 = B  
$03-20    Nom de fichier (high bit à 1; rempli d'espaces à droite) 
$21-22    Nombre de secteurs alloués à ce fichier  
020- Comment le DOS 3.3 sait quels sont les secteurs utilisés ?
Chaque fichier est associé un ensemble d'une ou plusieurs Track/Sector List (TSL = liste de Piste/Secteur).

Chaque TSL :
- énumère les secteurs (par numéro de Piste et numéro de secteur) qui composent le fichier.
- peut contenir jusqu'à 122 secteurs de données;

Si le fichier est trop grand pour être identifié par une TSL, une seconde est assignée, et un pointeur vers cette TSL suivante est stocké dans la TSL précédente, et ainsi de suite.

Notez que le DOS 3.3 accepte les fichiers vides et la TSL indiquera que le fichier n'a jamais été écrit car il n'y aura aucune paire Piste/secteur dans la dite TSL. Quand DOS 3.3 rencontre un tel fichier vide avec 0 paire dans la TSL, il passe un buffer complètement vide au programme appellant.

Un secteur de TSL ( Track/Sector List) a la structure suivante :
Octet    Description
-----    -----------
$00    	Non utilisé 

$01-02 	Postion Track/Sector de la TSL suivante 
	(00 si aucune, nota : la piste 0 n'est jamais utilisé comme TSL)
		
$03-04 	Non utilisé 

$05-06 	Nombre de Secteurs  (offset) utilisé comme TSL 
	démarrant à partir de l'octet $0C plus bas. 
	Ex: 00 00 = file sector #0 (le secyeur specifié est le premier 
	secteur du fichier).  Si une seconde TSLest nécessaire, 
	le premier secteur listé aura ce numéro à #122 
	(soit 7A 00 = hexadecimal $007A = 122 en decimal. 
		
$07-0B 	Non utilisé 

Le reste du secteur de TSL énumère les secteurs dans lesquels le fichier est stocké... 

$0C-0D Track/Sector du premier secteur (dans cette TSL) 
$0E-0F Track/Sector du second  secteur (dans cette TSL) 
 ... etc. 

021- Quels sont les formats des principaux fichier en DOS 3.3 ?
Un programme en langage machine est libre de stocker comme il veut n'importe quel fichier, cependant la plupart des programmes (DOS y compris 3.3 possèdent leur interprèteur de commande) et s'attendent à ce que les données dans chaque type de dossier se conforment à certains formats :

Fichiers de données

Un fichier texte séquentiel se compose de lignes de texte en codage ASCII séparées par des retours de chariot, et avec une fin de fichier marquée par un octet à $00. Le bit 7 de chaque caractère (excepté le $00 final) est à 1.

Un fichier à accès aléatoire peut être considéré comme un ensemble de mini fichiers à accès séquentiel séparés par des chaînes de $00. Chaque "mini-fichier" commence à une position de fichier qui est un multiple de la longueur de l'enregistrement à accès aléatoire.

(nota : les fichiers textes séquentiels ou à accès aléatoire des textes ont le même type de dossier. Il appartient aux différents programmes de savoir si leurs fichiers de données sont séquentiels ou à accès aléatoire.)

Fichiers Applesoft et BASIC Integer
Octet    Description
-----    -----------
$00-01  	Longueur du programme BASIC "tokenizé" 
$02-end 	Le programme BASIC 
(voir la rubrique BASIC pour le détail des tokens)

Fichiers BINAIRES
Octet    Description
-----    -----------
$00-01  	Adresse de chargement
$02-03  	Longueur de l'image binaire (le contenu du fichier) 
$04-end 	Image binaire 
Fichiers RELOGEABLES

Un fichier relogeable contient l'image d'un programme, suivie d'un dictionnaire de relocalisation contenant l'information nécessaire pour replacer le programme à un endroit de mémoire arbitraire. Le format de fichier est le suivant
Octet    Description
-----    -----------
$00-01 	Adress originale de chargement  
$02-03 	Longueur du fichier  (Image binaire + dictionaire de relocation ) 
$04-05 	Longueur de l'image binaire seulee 
		(donc SANS la longueur du dictionaire de relocation) 
$06-xx 	Image binaire 
$xx-yy 	Dictionaire de relocation 
FICHIERS S, A, et B

Les autres types de fichiers (S, A, et B) n'ont jamais définis de façon stable par quiconque. Plusieurs programmes utilisent ces types de dossier (particulièrement le type S) pour stocker leurs dossiers d'informations confidentielles, mais aucun ne semble être d'accord sur leur format interne.

022- Cmt exécuter des prog. DOS 3.3 à partir d'un disque 3.5" ou HD ?
Vous pouvez exécuter quelques programmes DOS 3.3 à partir d'un disque de 3.5, d'un grand disque virtuel, ou du disque dur. Cependant, il y a de nombreux programmes DOS 3.3 qui ne s'exécuteront pas de cette façon et qui pourraient même endommager des fichiers et des répertoires sur les plus grands supports (HD).

Les problèmes sont tout spécialement liés aux routines utilisées quand un programme modifie et fait des appels de routines en code machine telles que la RWTS (Read/Write Track-Sector) et/ou font des accès à des endroits physiques sur le disque DOS 3.3 tels que la table des matières du volume (VTOC), la piste du CATALOG, et le DOS lui-même. L'utilisation d'une routine spéciale pour sauver les scores d'un jeu sur une piste/secteur spécifiques est l'une des manières utilisées par un programme DOS 3.3 mais cela pourrait créer des ravages sur un disque dur.

D'autre part, vous avez des programmes qui utilisent des commandes standard du DOS à partir du BASIC comme probablement la plupart de vos propres programmes DOS 3.3 et la plupart de logiciel d'initiation des publications comme SoftSide. Ces programmes devraient fonctionner très bien en utilisant l'une des techniques pour accéder au DOS 3.3 à partir de la disquette de 3.5 ou du disque dur.

Il y a deux approches classiques pour exécuter un logiciel de DOS 3.3 à partir d'une disquette 3.5 sur un Apple II.

vous copiez sur une disquette 3.5 qui a été initialisée par DOS 3.3 modifié comme AmDOS ou OzDOS. Typiquement, vous obtenez deux disques de 400k sur chaque disquette de 3.5.

Une approche très différente est employée en utilisant des lanceurs de DOS 3.3. Elle offre deux options :
1. vous pouvez sauver quelques programmes de DOS 3.3 sur disque de ProDOS (3.5 y compris "disque ou disque dur). Ceux-ci doivent être des programmes en un seul fichier qui n'accèdent pas au disque une fois qu'ils sont chargés en mémoire. Le lanceur de DOS 3.3 est utilisé pour placer des options de lancement ad hoc.
2 à l'aide du copieur du lanceur de DOS 3.3, vous pouvez sauver un disque entier de DOS 3.3 comme image de disque sur une disquette de ProDOS 3.5", le disque dur, etc.. Selon les documentations du lanceur :
N'importe quel disque qui utilise une RWTS standard peut être copié de cette manière. Ceci comprend non seulement des disques de DOS 3.3, mais également beaucoup de vieux jeux qui emploient une RWTS standard, mais qui ne sont pas réellement DOS 3.3. Ils peuvent alors être lancés par le lanceur de DOS 3.3, qui boot le grand fichier image directement à partir de votre disque dur.
023- Cmt obtenir DOS 3.3 sur le net sans un prog. de télecom. Apple II?
DOS33.DMP est un DOS 3.3 en fichier texte Apple II. Le but de DOS33.DMP est de le rendre accessible aux utilisateurs sans DOS 3.3 et sans programme de télécommunication pour Apple II.

Une fois que vous avez DOS 3.3, vous pouvez obtenir ADT et avez un moyen de transférer des images disque dsk de 5.25 à partir de votre ordinateur vers votre Apple II. (vous pouvez alors obtenir des utilitaires de télécommunication pour Apple II et avoir le de transférer toutes sortes de fichiers)

Vous pouvez trouver DOS33.DMP sur ici
024- Qu'est-ce que ProDOS ?
ProDOS est le DOS officiel de Apple II qui a été mis sur le marché après le DOS 3.3. Ne confondez pas "ProDOS" et "Prontodos". Prontodos est une version légèrement modifiée du DOS 3.3 qui permet d'avoir un disque beaucoup plus rapide qie par les I/O du DOS standard 3.3. ProDOS est un système d'exploitation entièrement nouveau.
025- Quelles sont les principales caractéristiques de ProDOS ?
ProDOS a un bon nombre de possibilités agréables. Vous pouvez créer des sous-répertoires, les disquettes ("volumes") peuvent être nommées, et ProDOS travaille parfaitement avec les disques durs. Le finder du système 6 du GS peut manipuler les fichiers ProDOS et lancer les programmes des disquettes sous ProDOS. L'interprèteur de commande BASIC de ProDOS partage beaucoup de commandes avec DOS 3.3, ainsi il n'est pas difficile pour les utilisateurs de DOS 3.3 d'utiliser ce logiciel d'exploitation plus récent.
026- Quels Apple II exécutent quelles versions de ProDOS ?
Les Apple II de l' Apple II+ avec une RAM de 64k jusqu'au IIgs peuvent exécuter les versions de ProDOS jusqu'à la version 1.9 et exécuter des programmes de BASIC APPLESOFT sous ces versions.

Un Apple II ancien (avec le BASIC entier en ROM) ou tout Apple ayant moins de 64k peut exécuter ProDOS 1.0 ou 1.0.1 mais ne peut pas utiliser l'interprèteur BASIC de ProDOS (BASIC.SYSTEM). Ce n'est pas une configuration très utile car il y a peu d'applications qui fonctionneront dans cet environnement.

Les versions 2.x.x exigent un Apple II équipé d'un 65C02, d'un 65C802, ou d'un 65C816 tel qu'un Apple IIe-enhanced, //c, IIc+, ou IIgs. Le ProDOS courant est la version 2.0.3.
027- Comment créer une disquette PRODOS bootable ?
Créer des disquettes amorçables de ProDOS est plus embêtant que de créer des disquettes amorçables en DOS 3.3 parce que ProDOS n'a aucun moyen pour se reproduire à partir de la mémoire : il n'a aucune commande INIT.

La seule méthode pour faire une nouvelle disquette amorçable de ProDOS est l'utilitaire FILER de ProDOS ou une version ProDOS de copy II+ pour formatter une disquette pour ProDOS. Cela créée des pistes remplies de blocs vierge de sorte que la disquette puisse être utilisée pour contenir des fichiers ProDOS. Il écrit également le code de démarrage dans les blocs 0 et 1 sur la piste 0.

ProDOS est dans un fichier sur un disque amorçable ainsi habituellement le raccordement de ProDOS au BASIC est appelé "BASIC.SYSTEM". Pour finir le travail vous copiez BASIC.SYSTEM et PRODOS à partir d'un disque amorçable ProDOS sur le nouveau disque.

Un autre moyen est d'utiliser Disk Muncher ou un autre copieur de disque pour copier une disquette amorçable de ProDOS qui inclut BASIC.SYSTEM. Vous pouvez ensuite supprimer tous les dossiers que vous ne voulez pas sur la copie.

Les choses sont un peu plus facile sur un IIgs exécutant GS SYSTEM. Dans lefinder (le bureau principal habituel de GS), vous insérez une disquette vierge et laissez le finder "l'initialiser" pour ProDOS. Ensuite vous pouvez avec la souris y transférer PRODOS et BASIC.SYSTEM à partir d'un disque amorçable. (ou, plus facile encore, si vous avez une disquette amorçable vierge sous ProDOS de la même taille que votre disque vierge, vous pouvez vous contenter de placer le disque amorçable sur votre nouveau disque.)

Nota : Si vous voulez copier le ProDOS employé par GS/OS, copiez le dossier P8 de la chemise de SYSTEM et renommez-le "PRODOS" sur votre disquette.
028- Cmt faire un disque ProDOS qui boote et lance un prog. BASIC ?
Si vous voulez initialiser ProDOS puis démarrer un programme BASIC, alors PRODOS et BASIC.SYSTEM doivent être présents. (BASIC.SYSTEM devrait être le premier dossier fichier .SYSTEM sur la disquette.) Le programme "HELLO" sur une disquette de ProDOS est appelé "STARTUP". C'est le programme qui sera exécuté lors du boostrap de la disquette. (s'il n'y a aucun programme "STARTUP", vous aurez le prompt BASIC après l'initialisation.)

Un programme STARTUP simple que vous pouvez saisir et sauver vers votre disquette ProDOS
10 TEXT: HOME 
20 PRINT CHR$(4)"CAT" 
30 END
Après avoir tapé au clavier ce programme, entrez juste SAVE STARTUP. La fois prochaine que vous lancerez la disquette, le programme ci-dessus fonctionnera et le CATALOGUE de la disquette sera affiché.

Un bon programme STARTUP sélecteur de programmes pour lancer les programmes ProDOS 8 sur disquette à partir d'un IIgs est SpeedGS. Il affiche le nom du volume de boot, la date/heure, et les noms des programme que vous avez écrits.

SpeedGS.zip
029- Quelle est la taille maximale d'un volume ProDOS ?
Quand une disquette est formattée pour ProDOS elle a un nom donné par l'utilisateur. Une disquette ProDOS s'appelle également un "volume". Un disque dur ProDOS sera habituellement divisé en deux volumes nommés ou plus . La taille maximum d'un volume de ProDOS est de 32767.5 Ko (65535 blocs) soit 32 Mo.
030- Comment faire lancer, sauver, etc... des fichiers sous ProDOS ?
LOAD (SAVE, RENAME, etc.) sont beaucoup utilisés avec DOS 3.3. vous pouvez également utiliser les paramètres Slot et Drive pour indiquer le volume cible. Cependant avec ProDOS vous travaillerez habituellement avec des noms de volume et des répertoires.

Si GAME3.PIC est un dossier binaire dans un répertoire appelé "PICS" sur un volume appelé "NARF", vous pouvez le charger dans la mémoire commençant à l'adresse $2000 par l'intermédiaire de

BLOAD /NARF/PICS/GAME3.PIC, a$2000

ou, en BASIC par :

100 PRINT CHR$(4)"BLOAD /NARF/PICS/GAME3.PIC,A$2000"

Ainsi, dans ProDOS, vous pouvez accéder à un disque (ou volume) par son nom...

RUN /GAMES/CHINA.SEA

trouvera le volume "GAMES" puis, la trouvera, chargera, et exécutera CHINA.SEA.

Vous pouvez, également, vous référer à un disque par sa position

CAT,S6,D1

fera un catalogue du répertoire principal de la disquette présente dans le LECTEUR 1 du SLOT 6.
031- Qu'est ce que le "pathname" ?
Supposez que le dossier BARDS2.PIC est dans le répertoire PICS de la disquette (volume) appelée "NARF" . Alors /NARF/PICS/BARDS2.PIC est le nom complet de BARDS2.PIC : le "pathname".

/NARF/PICS/ est un "préfixe de noms", le pathname prefix pour tous les dossiers dans le répertoire PICS sur le volume appelé "NARF".

"/" indique un nom de volume (/NARF).

Le répertoire principal, ou répertoire racine, est celui dans lequel les dossiers PRODOS et BASIC.SYSTEM (avec tout autre fichier que l'utilisateur veut là) sont habituellement localisés sur une disquette de ProDOS. Le préfixe principal du répertoire est juste /NARF/ .
032- Quels sont volume & répertoire par défaut quand ProDOS boote ?
Quand ProDOS boote, il supposera que les commandes LOAD, SAVE, etc. se rapportent au répertoire principal du volume présent dans le slot et le lecteur d'initialisation. Il n'établit pas automatiquement un volume ou un répertoire par défaut.

Tant qu'aucun nom de volume par défaut n'est pas précisé, les références aux disques par Slot et/ou Drive (par exemple CAT, S6, D2) placeront le dispositif par défaut (par Slot et commande) beaucoup cela se produit avec les commandes semblables sous DOS 3.3.
033- Comment définir le volume et répertoire par défaut sous ProDOS ?
La commande de PREFIX de ProDOS suivie d'un nom vous permet de positionner le volume et le répertoire par défaut et par nom, c'est à dire que vous placez le préfixe de nom de défaut. Par exemple,

PREFIX /NARF

ou, dans un programme BASIC

100 PRINT CHR$(4)"PREFIX /NARF"

indique à votre ordinateur de trouver le volume ProDOS (disquette, partition de disque dur, etc...) "NARF" et, une fois qu'il est trouvé, de positionner le répertoire par défaut à /NARF/ (répertoire nommé) Ensuite les commandes telles que CAT, RUN GRAFIX, BLOAD STARTPIC, etc. se placeront automatiquement en référence au répertoire /NARF.

Si vous tapez CAT PAINTERS/, ProDOS ira à PAINTERS/ sur /NARF et montrera un catalogue du contenu du répertoire. Si vous déplacez votre disquette de /NARF vers un lecteur différent et faites un CAT, ProDOS balayera vos lecteurs pour trouver /NARF et pour faire le catalogue. Si vous enlevez /NARF complètement et faites un CAT, ProDOS indiquera qu'il y a une erreur "PATH NOT FOUND".

Naturellement, vous pouvez placer le préfixe par défaut vers un répertoire spécifique. Par exemple,

PREFIX /NARF/EAMON/

ou, dans un programme de BASIC

100 PRINT CHR$(4)"PREFIX /NARF/EAMON/"

placera le volume (/NARF/) puis le répertoire (EAMON/) comme nouveau préfixe par défaut. Un programme fonctionnant dans ce répertoire pourra charger les images ou executer les programme de ce répertoire sans s'inquiéter des noms du volume et répertoire dans lesquels Eamon est situé.

Si vous savez que le répertoire EAMON est dans le répertoire actuellement actif, vous pouvez employer

PREFIX EAMON/

ou, dans un programme de BASIC

100 PRINT CHR$(4)"PREFIX EAMON/"

pour placer le répertoire par défaut sans devoir indiquer le nom de volume.

Si le répertoire par défaut est /NARF/ la commande aura comme conséquence de positionner par défaut /NARF/EAMON/. Si le répertoire par défaut est /NARF/GAMES/ le nouveau répertoire par défaut sera /NARF/GAMES/EAMON/. S'il n'y a aucun répertoire par défaut alors la commande est exécutée, ProDOS lira le nom de volume, vérifiera le répertoire d'EAMON/, et ajoutera "EAMON/" pour créer le préfixe complet de nom par défaut.

Le réglage d'un préfixe de nom par défaut n'empêche pas l'utilisation des commandes qui indiquent d'autres endroits. Par exemple

CAT /PICS/BOXES/ recherchera le répertoire BOXES sur le volume /PICS/ et fera un catalogue.

Pour effacer le répertoire par défaut tapez

PREFIX/ (PREFIX suivi d'un "/")
034- Cmt connaître le nom de volume d'un disque qui vient de booter ?
Vous pouvez trouver le nom d'un volume ProDOS dans un lecteur en affichant le catalogue. Le nom de volume sera montré au dessus de la liste sur écran (par exemple "/NARF /"). Une autre manière, qui fonctionne dans les programmes comme au clavier, est d'employer la commande PREFIX : Cette commande, quand elle est utilisée seule renverra normalement l'un des résultats suivants :

- s'il y a un préfixe par défaut, alors, le résultat sera le préfixe courant par défaut.

- s'il n'y a aucun préfixe établi par défaut, alors, ProDOS lira le nom de volume du volume dans le SLOT et DRIVE par défaut.

Nota : utilisé de cette façon PREFIX n'établit pas ou ne change pas un préfixe existant. Lancer une disquette efface le préfixe par défaut et Slot/Drive d'initialisation deviennent alors les données par défaut. Pour que votre programme DE DÉMARRAGE découvre le nom du volume sur lequel il réside, il pourrait exécuter ce qui suit :

100 PRINT CHR$(4)"PREFIX": INPUT"";P$

Le nom de volume du disque initialisé sera placé dans P$.
035- Comment créer des dossiers ?
Pour créer des repertoires vous n'avez pas besoin de fournir de paramètres à la commande de CREATE. Par conséquent

CREATE GIFPICS

créera un répertoire appelé "GIFPICS" dans le répertoire courant par défaut.
036- Comment accèder aux routines ProDOS en assembleur ?
Vous devez employer l'interface de langage machine de ProDOS (MLI). Le MLI est responsable de presque toutes les fonctions (Read Block, Write Block, et 24 autres) que ProDOS peut exécuter.

Les programmes en langage machine appellent ProDOS en faisant un JSR au MLI à $BF00 . Pour déterminer quelle fonction doit être exécutée, ProDOS examine l'octet "commande" juste après l'instruction de JSR. Puis juste après l'octet de commande viennent deux octets supplémentaires qui pointent vers la liste des paramètres de la commande. Quand l'appel est executé, il revient au code juste après l'indicateur de liste de paramètre. Un appel de ProDOS MLI resssemble à quelque chose comme ceci :

		20 00 BF  JSR     MLI 
		80        DB      COMMAND_CODE 
		50 03     DW      PARAM_LIST_LOCATION 
		B0 __     BCS     ERROR 
Dans ce qui précède, le code opération ($80) indique "lisez un bloc" (Read a block) et la liste de paramètre est située à $0350. L'appel au MLI revient avec la retenue à 1 et un code d'erreur dans l'accumulateur si une erreur s'est produite ; ainsi, le contrôle d'erreur est réalisé simplement par l'instruction BCS (Branch if Carry Set ) qui est l'instruction exécutée en cas d'erreur effective. Pour une description détaillée des fonctions de MLI comprenant des codes opération et des paramètres, voyez un ProDOS manuel ou l'une des autres références mentionnées en FAQ 40 ci-dessous.
037- Cmt convertir des logiciels DOS 3.3 pour exécution sous ProDOS ?
Quelques programmes de DOS 3.3 fonctionneront très bien sous ProDOS sans aucun changement. À moins que vous ayez une certaine raison de croire qu'un programme de DOS 3.3 ne fonctionnera pas sous ProDOS, il est intéressant de simplement le copier vers une disquette ProDOS et de l'exécuter.

Nota : Quelques programmes DOS 3.3, principalement de vieux jeux commerciaux, incluent des routines qui écrivent directement un ou plusieurs secteurs. Cela a pu alors recouvrir des parties d'un dossier ou d'un repertoire de ProDOS. C'est une bonne idée de copier ces programmes à risques sur un disque ProDOS que vous pouvez vous permettre de perdre (par exemple un disque amorçable sans vos programmes préférés). Bootez ce disque et essayez le programme.

Les barrières principales pour exécuter des programmes de DOS 3.3 sous ProDOS sont...

1. Taille : DOS 3.3 laisse plus d'espace pour les programmes que ProDOS + BASIC.SYSTEM. Quelques programmes de DOS 3.3 sont trop grands pour ProDOS. Pour les employer que vous devrez trouver des moyens de réduire la taille de programme.

2. Zones de mémoire utilisés : ProDOS réserve des parties de mémoire, telles que la page 1 ($0400-$07FF) des textes, pour différents pointeurs.Certain programmes DOS 3.3 se chargent dans ces secteurs. Par exemple, quelques jeux chargent des images ou texte pour que vous regardiez tandis que le reste du jeu charge. Normalement, ProDOS refusera de faire de telles chargement et le résultat sera un message d'erreur "BUFFERS NOT AVAILABLE" . Pour exécuter ces programmes vous aurez besoin de démarquer les zones réservés qui sont utilisées ainsi et/ou changer la position des chargements à roblème du programme.

Quand ProDOS charge il utilise la majeure partie de la mémoire de la carte de langage. Quelques programmes DOS 3.3 emploient également cette mémoire. Si un programme de DOS 3.3 utilise la carte de langage il devra probablement être modifié pour pouvoir s'exécuter sous ProDOS.

ProDOS gère l'attribution des buffers différement du DOS. Si un programme DOS 3.3 abaisse HIMEM afin de créer de l'espace pour le code ou les données, il peut devoir être modifié pour garantir que le code/area est sûr. (voir la page 237 de "Exploring Apple GS/OS and ProDOS 8" ou page 7-4 de "Beneath Apple ProDOS".)

3. Noms : Les noms de répertoire de DOS 3.3 peuvent être plus longs et avoir plus de types de caractères que des noms de ProDOS. Si un programme DOS 3.3 écrit, chargeetc. n'importe quel fichier, vous devrez être sûr que les noms de fichiers utilisés sont compatibles avec ProDOS.

4. Commandes et syntaxe de DOS/ProDOS : Il y a, vraiment, très peu de différences dans les commandes et et la syntaxe de DOS susceptibles de poser des problèmes sous ProDOS. Toujours est-il qu'il y en a et vous devrez vérifier ces derniers et faire toutes les modifications indiquées.

5. BASIC ENTIER : Des programmes en BASIC ENTIER peuvent être transférés sur une disquette de ProDOS ; mais, vous ne pouvez pas les exécuter directement sous ProDOS. Si vous êtes disposé à déplacer un programme de BASIC ENTIER vers à un éditeur de texte, convertissez la syntaxe en BASIC APPLESOFT, et exécuté le fichier résultant, vous pouvez obtenir un programme BASIC APPLESOFT que vous pouvez modifier selon les besoins pour ProDOS.

6. Ce n'est pas DOS 3.3 : Les logiciels très vieux, les vieux logiciels commerciaux incopiables , et les copies deprotégées de vieux logiciels peuvent ne pas être sur des disques de DOS 3.3. Votre premier défi avec de tels logiciels est de les remettre sous une forme qui permettra de transférer des fichiers vers une disquette sous ProDOS.

En vérifiant et en modifiant un programme DOS 3.3 pour ProDOS un bon éditeur de programme est essentiel. Vous économiserez des heures de travail incalculables en investissant dans "Program Writer".
038- Cmt modifier ProDOS pour faire des BLOADs en buffer clavier et TEXT 1 ?
Vous pouvez employer POKE 48984,192 pour modifier la bit map. Cela protège les pages $00 et $01 et déprotége les pages $02-$07.

Nota : Puisque le firmware et les cartes d'I/O se servent des octets "de trou d'écran" dans la région de $0400-$7FF, le chargement de ceux-ci peut interférer avec quelques dispositifs.

Pour cette raison, il est préférable d'avoir ces articles spéciaux de DOS sur une disquette séparée de ProDOS avec un programme DE DÉMARRAGE qui fait POKE 48984,192. De cette façon vous saurez que le système a été changé pour courir ces programmes DOS et pas par distraction pour exécuter un programme comme Appleworks, etc.. sous le ProDOS modifié.


Une méthode plus sûre est de charger le fichier ailleurs, puis de copier les données vers la zone texte par une boucle, en copiant 120 octets puis en sautant 8, et ceci répétés 8 fois
039- Comment booter ProDOS sur un Franklin ?
Dans une vieille note d'Apple, Stephen Craft a énuméré des endroits spécifiques à changer après que votre Franklin soit bloqué. Vous pouvez alors le remettre en marche par l'intermédiaire d'un 2000G du moniteur. Voici la liste mise à jour montrant les endroits à changer pour plusieurs versions de ProDOS :
		v1.1.1 		$269E : EA EA 
		v1.4 		$282B : EA EA 
		V1.6 		$282B : EA EA 
		v1.7 		$282B : EA EA 
		v1.8 		$2836 : EA EA 
		v1.9 		$2865 : EA EA 
		v2.0.3 		$2836 : EA EA 
Il s'avère que les octets que Stephen dupait sont D0 03 dans la séquence 69 0B DO 03 A5 0C 60. Cette séquence est près de la fin d'une routine qui vérifie la chaîne APPLE ][ que l'on trouve dans des toutes les véritables ROM d'Apple II mais pas dans celles de la plupart des clones d'Apple II.

Pour fixer le problème faire ceci :

Lancer copy II+ et selectionner "Sector Editor"
Introduire en mémoire la disquette de ProDOS
Lire piste 0, secteur 0
Recherche en hexadécimal les octets : 69 0B D0 03 A5 0C 60
Quand vous trouvez ce qui précède, changer D0 03 en EA EA
Puis écrire le secteur changé vers la disquette.

Ce patch élimine le test et permet à ProDOS d'initialiser sur les clones Apple II qui échouerait ce contrôle. Ce patch n'a aucun effet sur ProDOS fonctionnant sur des Apple II.

Ce patch ci-dessus est absolument nécessaire pour obtenir un ProDOS amorçable fonctionnant pour bon nombre de copies d'Apple II. Jim Sather (inCider, mars 1986) recommande un second patch qui est facultatif. Il empêche ProDOS de signaler incorrectement qu'une carte à 80 colonnes de //e-style 64K est présente sur un Franklin.

Nota : Ce patch ne devrait pas être appliqué, excepté sur les séries de Franklin 1000 et probablement sur d'autre clones. Sur //e, //c ou IIgs il rend invisible la carte à 80 colonnes ou la mémoire supplémentaire. Ce patch n'est pas nécessaire pour les séries de Franklin 2000 (celles qui émulent un IIe et IIc) ou sur n'importe quelle serie de LASER 128. Vous ne devez pas appliquer le patchà ces unités parce qu'elles émulent les cartes 80 colonnes et les 128k (extensibles à 1MB sur les lasers).

Pour faire ce patch la procédure est la suivante :

Lire piste 0, secteur 0
Recherchez : AE B3 FB E0 38
Quand vous trouvez ce qui précède, le changer en A2 EA EA E0 38
Ecrire le secteur changé sur la disquette.
040- Quelles sont les meilleures référence pour DOS 3.3 et ProDOS ?
POUR DOS 3.3


The DOS Manual de Apple
Beneath Apple DOS de Worth & Lechner
"Apple II User's Guide" de Poole, Martin, and Cook

POUR PRODOS


Beneath Apple ProDOS de Worth & Lechner
ProDOS Technical Reference Manual de Apple (Addison-Wesley)
Exploring Apple GS/OS and ProDOS 8 de Little
ProDOS Inside and Out de Doms and Weishaar
041- Comment savoir sous quel système un prog. BASIC s'exécute ?
La méthode la plus aisée est de regarder les trois octets qui sont en $3D0
si vous avez 4C 00 BE vous êtes sous PRODOS
si vous avez 4C BF 9D vous êtes sous DOS 3.3 ou un équivalent genre ProntoDOS

Sous DOS 3.3 cependant l'adresse peut être différente :
soit parce que vous avez lancé un DOS créé sur un APPLE de moins de 48K
soit parce que le DOS est chargé en carte langage
Il est probablement plus sûr de vérifier si vous êtes sous PRODOS, et de déduire (certes un peu vite) que si ce n'est pas le cas alors vous êtes sous DOS 3.3