Cours de déplombage 04

Note de Deckard: j'ai 2 versions de ce cours (avec le même numéro de version 2.65 mais des dates et des contenus différents!). Malheureusement la version la plus récente en terme de date (01/09/1988) a des bad sectors. Parmi les disquettes dont je dispose (Thry2, The White Man et Copperfield en plus des miennes), c'était la plus actualisée. Dommage!

Après une comparaison des fichiers, il s'avère que le contenu principal du cours lui-même est identique. Il y a juste eu des rajouts d'un défi + un autre fichier (protection) + mises à jour des fichiers annexes + des nouveaux programmes. Certains de ces programmes supplémentaires sont abimés. J'ai donc mis ici le cours intact plus ancien et une diskette "complément" avec ce qui était récupérable du cours récent. Si vous avez la dernière version en 2 faces intacte, je suis preneur.

A noter qu'avec l'émulateur Applewin, toutes les options de la production DOS LIBRARY ne fonctionnent pas.


Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran
Ecran


File: Gdf04.dsk
Disk: DOS 3.3 Volume 254
 Name                             Type Auxtyp Modified         Format   Length
------------------------------------------------------------------------------
 DISKET-SCOPIE                    BAS  $0801  [No Date]        DOS        1997
*DOS.CDI.S                        BIN  $0901  [No Date]        DOS       31686
*DOS.FILE.MANAGER.S               BIN  $0901  [No Date]        DOS       26371
 T.COURS 4 REVISION 2.65          TXT  $0000  [No Date]        DOS       25781
 T.ET LA PROCHAINE FOIS...        TXT  $0000  [No Date]        DOS        1193
 T.INTRODUCTION                   TXT  $0000  [No Date]        DOS        2894
 HELLO                            BAS  $0801  [No Date]        DOS        1639
 T.COURS 4 EXERCICES              TXT  $0000  [No Date]        DOS        3393
 T.LES PROGRAMMES DE CE DISK      TXT  $0000  [No Date]        DOS        1438
 T.DAVID DOS.DOC                  TXT  $0000  [No Date]        DOS       11792
 MODIF.DOS.PLOMBAGE               BAS  $0801  [No Date]        DOS        4062
------------------------------------------------------------------------------

File: Gdf04_Complement.dsk
Disk: DOS 3.3 Volume 254
 Name                             Type Auxtyp Modified         Format   Length
------------------------------------------------------------------------------
 T.COURS 4 EXERCICES              TXT  $0000  [No Date]        DOS        3851
 T.LES PROGRAMMES DE CE DISK      TXT  $0000  [No Date]        DOS        2238
 T.COURS 4 PROTECTION             TXT  $0000  [No Date]        DOS        7344
 CHANGE_ERR MESS                  BAS  $0801  [No Date]        DOS         852
 DISK HELPER                      BAS  $0801  [No Date]        DOS        4477
 DISK SORT                        BAS  $0801  [No Date]        DOS        4204
 DISK SORT.RWTS                   BIN  $0800  [No Date]        DOS          64
 HELLO                            BAS  $0801  [No Date]        DOS        1674
------------------------------------------------------------------------------


Floppy
DOS 3.3
Download Cours GDF 04 rev 2.65 (gzipped)
Floppy
DOS 3.3
Download Cours GDF 04 complément (gzipped)
Floppy
DOS 3.3
Download Disk Recovery (gzipped)
Floppy
Many DOS 3.3 clones
Download DOS LIBRARY (gzipped)


Sommaire


Lien Article
Voir Introduction.
Voir Cours 4 révision 2.65.
Voir Cours 4 exercices.
Voir Les programmes de ce disk.
Voir Et la prochaine fois.
Voir Documentation du David Dos.
Voir Cours 4 protection (fichier version plus récente).
Voir Les programmes de ce disk (fichier version plus récente).
Voir Cours 4 exercices (fichier version plus récente).


hr cours GDF

Introduction.


   __ Introduction __________________________________________________________
  !                                                                          !
  ! Salut et salut,                                          Update 23/08/87 !
  !                                                                          !
  ! Voici enfin la révision 1.60 du cours 4.. Tout ce qu'un pirate doit      !
  ! savoir du DOS 3.3... sympa comme cours.. Pas très balaise en fait, mais  !
  ! indispensable..!                                                         !
  !__________________________________________________________________________!
   __________________________________________________________________________
  !                                                                          !
  ! Question - Puisqu'on parle de DOS... Y'aurait pas un disk où pleins de   !
  !            DOS sont rassemblés ??                                        !
  ! Réponse  - Oui, bien sur !! Ca s'appelle DOS LIBRARY 1.00 et ca boote en !
  !            Epyx-Boot (voir GP #5). J'ai fait ça, pour le plaisir en      !
  !            angleterre, en juillet 87.. Tous les meilleurs DOS y sont     !
  !            réunis en une face.. Seul le DOS EOR n'y est pas utilisable   !
  !            sans notice explicative...                                    !
  ! Question - Et bien sur il est en face B de ce disk...                    !
  ! Réponse  - Comme toujours..                                              !
  ! Question - Et on peut le filer autour de nous ??                         !
  ! Réponse  - Contrairement au cours, là, ca a été fait pour se répandre !! !
  !__________________________________________________________________________!

   __________ Mais y'a bien des bouquins qui parlent de ça, non ?? __________
  !                                                                          !
  ! Mouais.. Y'a bien BENEATH APPLE DOS.. C'est en anglais.. Génial mais     !
  ! trop balaise pour le moment.. Vous pouvez le commander chez :            !
  !                                                                          !
  !                             QUALITY SOFTWARE                             !
  !                           21601 MARILLA STREET                           !
  !                         CHATSWORTH, CA 91311, USA                        !
  !                                                                          !
  ! Y'a aussi DOS 3.3 GUIDE DU PROGRAMMEUR.. En francais, éditions SYBEX..   !
  ! Je l'ai pas encore lu...je juge donc pas                                 !
  !__________________________________________________________________________!

  Bonne chance avec ce cours... Dés le 5, on commence des cours super longs et
  fous.. alors accrochez vous et à la prochaine...

                                                        Amicalement, GODFATHER


Retour sommaire

hr cours GDF

Cours 4 révision 2.65.


COURS DEPLOMBAGE 4 / GODFATHER 13 Janvier 1987 / Révision 2.65 / Update 29/8/87

 TOUT CE QU'IL FAUT SAVOIR SUR L'ORGANISATION DES FICHIERS SUR UN DISK DOS 3.3
===============================================================================
Salut et salut,

Avant de commencer ce cours j'aurais voulu juste faire une remarque sur le
déplombage en général. Depuis le cours 1 sur le DOS PATCHED, on n'a étudié que
des protections simples.... Tu pourrais te dire :'Ah! c'est ca le déplombage'
En fait, c'est ca pour beaucoup de softs... enfin plutot, c'était ca...
Mais les protections 85-86 et 87 sont bien plus balaises...

Il faut avoir tout plein de connaissances en cracking et commencer par des
choses simples. Il y a encore pas mal a apprendre avant de pouvoir s'attaquer
à la partie la plus interessante : les plombages employés actuellement par des
éditeurs tels que les plombages Electronic Arts ou autres BR0DERBUND...

Tu peux quand meme te demander : "Mais à quoi ce cours va t il me servir ???"
Fais moi confiance, tu verras plus tard que c'est pas inutile du tout de tout
savoir sur le DOS. Avant d'étudier des routines de lectures folles, étudie
d'abord celle du DOS 3.3 le plus simple...

Un proverbe chinois dit un truc du genre :

"Avant de chercher à connaitre l'ennemi, cherche à te connaitre toi meme !"

Et ne te dis pas trop : "Ah! c'est simple en fait !!!" car je te promets de
bons moments à venir...
-------------------------------------------------------------------------------
On a vu dans la dernière fois que :

- La VTOC (ou TRACK/SECTOR/MAP abrégé TSM (PLAN P/S)) se trouve en piste $11/0
- La VTOC indique le premier secteur du CATALOG qui va indiquer les autres...
- Le CATALOG se trouve en piste 17 ($11) sur un disk en DOS 3.3 normal (!)

Il y a deux excellents ouvrages pour Apple qui traitent de DOS et autres.
Ce sont : CLEFS pour APPLE //c et LE MANUEL DOS.

Ce fichier va traiter - inévitablement - en partie des memes choses mais
si ce n'etait qu'une recopie de ses livres, je te les aurait prétés.

En partie seulement on retrouvera les memes informations mais ici, il y a
pleins de trucs fous en plus... Alors bonne chance...

                               ==========

Il faut bien distinguer : DIRECTORY (le catalogue sur le disk ou 'répertoire')
                          CATALOG   (la commade qui affiche le DIRECTORY)

Moi, je distingue pas...Le CATALOG, c'est le CATALOG... je te dis juste ça
car certains fous disent DIRECTORY, d'autres REPERTOIRE et moi CATALOG. Il faut
pouvoir se comprendre.

Je vais ici rappeller certains petits trucs du cours précedent mais j'y suis
obligé pour une meilleure compréhension. On va élargir le probleme du CATALOG
a la galette entière pour bien comprendre comment est organisé chaque
fichier du CATALOG sur le disque. (Fichier Basic, Binaire ou Texte...)

Je sais, ça n'est pas vraiment du déplombage à l'état pur mais ce sont des
connaissances qu'on ne peut pas négliger si l'on veut devenir un déplombeur fou

      Pourquoi faut-il absolument avoir ces connaissances sur le dos ???
      ------------------------------------------------------------------

- Parce que les plombeurs les connaissent et LES EXPLOITENT BIEN pour nous
  compliquer la tache ! (Souvent les CATALOG sont déplacés, les prompt sont
  cachés au boot, les VTOC sont modifiées en fonction du nombre de pistes
  (-> ça nous apprend le nombre de piste du disk original), et pleins d'autres
  ruses que l'on peut, si on les connait, éviter...)

- Parce que l'on peut ainsi proteger SES PROPRES PROGRAMMES sous DOS...
  (Dans MIAMI SOUND MACHINE MAKER, une musique que QTIPS avait planquée sur une
  autre piste posait à tous un super défi... Elle etait tout simplement sur une
  autre piste... Très peu de monde à trouvé et il y avait 10 disks à gagner !!)

Mais ne serait ce que pour la première raison : LES PLOMBEURS CONNAISSENT TOUT!

Il faut bien comprendre qu'il y a une multitude de plombeurs...
Certains connaissent certains trucs, d'autres connaissent d'autres trucs...
Mais le déplombeur, lui, se trouve souvent seul devant un truc plombé et il se
doit donc de TOUT savoir sur TOUT !!!

Avec ceci en tete, on va s'en aller apprendre de bien belles choses...

        COMMENT LE DOS SE COMPOSE.. ET OU C'EST SUR LE DISK EN DOS ??
-------------------------------------------------------------------------------

On a deux choses à voir... Le DOS en lui meme que l'on étudiera par étape de
boot, et La piste du CATALOG.

Le DOS boote en 3 étapes.. D'abord le boot 0 chargé par la ROM...
Ensuite, la Routine de Lecture/Ecriture d'une Piste/Secteur. (RWTS)
Ensuite, le Command Handler (ou "File Manager") où sont gérés toutes les
commandes du DOS (LOAD,SAVE,BLOAD,BSAVE,INIT,CATALOG..etc)

La piste du catalog se décompose en 2 parties... D'abord le CATALOG en lui
meme (les données qui sont lues et éxaminées avant l'affichage du CATALOG,
le chargement ou la sauvegarde d'un fichier sur disk) puis la VTOC.
VTOC signifie Volume Table Of Contents.. Elle contient le plan (codé en
binaire) de tous les secteurs libres d'un disk sous DOS.
Evidemment, au départ, quand on formatte un disk par INIT, la VTOC indique bien
que les pistes contenant le DOS et la piste du CATALOG sont occupées et de meme
pour les secteurs contenant le programme de boot (HELLO?). Normal... Sinon
sauver un programme pourrait "écraser" le DOS ou le CATALOG !!...

Voici le plan d'un disk sous DOS sans aucun programme dessus.

Ne tenez pas compte du Buffer RWTS que vous croiserez ici,
on en reparlera dans un prochain cours.. (Cours 12)

Les caracteres indiquent les trucs suivants :   "0" .Boot 0 du DOS 3.3
                                                "R" .RWTS du DOS
   Horizontal : Les pistes                      "B" .BUFFER RWTS du DOS
   Vertical   : Les secteurs                    "D" .COMMAND HANDLER du DOS
                                                "C" .Secteurs du CATALOG
                                                "V" .VTOC
                                                "." .Secteurs libres
 ___________________________________________________________________________
!                                                                           !
! P / 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 !
!     0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 !
!                                                                           !
! 00  0 D D . . . . . . . . . . . . . . V . . . . . . . . . . . . . . . . . !
! 01  R D D . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 02  R D D . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 03  R D D . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 04  R D D . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 05  B D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 06  R D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 07  R D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 08  R D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 09  R D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 0A  . D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 0B  D D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 0C  D D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 0D  D D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 0E  D D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
! 0F  D D . . . . . . . . . . . . . . . C . . . . . . . . . . . . . . . . . !
!___________________________________________________________________________!

Le Boot est simple.. La piste $00/00 (Boot 0) est chargée par la ROM $C600,
et charge (toujours avec la ROM) la RWTS des secteurs $1-9 de la piste $00
en $B700. (Secteur $1 en $B700, Secteur $2 en $B800... Le Buffer RWTS qui
est en secteur $5 se trouve donc chargé en $BB00). La RWTS (JMP $B700)
charge ensuite le DOS lui meme de la piste $2 4 à la piste $0 en secteurs
et pistes décroissantes. Simple...

            LE 'FILE MANAGER' DU DOS 3.3 (ORGANISATEUR DE FICHIERS)
-------------------------------------------------------------------------------
  ON A TOUJOURS VU COMMENT CA MARCHE, ON A JAMAIS COMPRIS COMMENT CA MARCHE !

On va ici parler de : VTOC, CATALOG, FICHIER A/B/T, TS Lists..

                         LA VTOC (Piste $11 Secteur $00)
                         ===============================

La VTOC constitue une liste des secteurs vides ou utilisés du disk. Chaque piste
est codée sur deux octets. Pour en voir une, charge un Editeur de Secteur
quelconque et va en Piste $11/0.

Voici un exemple de VTOC, commentaires à l'appui:

READ: $11 $00
----------------------------
$00: 04 11 0F 03 00 00 FE 00  ; Octet $01 : Piste du premier secteur du CATALOG
$08: 00 00 00 00 00 00 00 00  ; Octet $02 : Premier secteur du CATALOG
$10: 00 00 00 00 00 00 00 00  ; Octet $03 : Type de DOS (Ici DOS 3.3)
$18: 00 00 00 00 00 00 00 00  ; Octet $06 : Numéro de volume (254)
$20: 00 00 00 00 00 00 00 7A  ; Octet $27 : Nbre de sect. maxi dans une TS List
$28: 00 00 00 00 00 00 00 00  ; Octet $34 : Nbre de pstes maxi par disk (35)
$30: 0D FF 00 00 23 10 00 01  ; Octet $36 ! (256) octets par secteur
$38: FF FF 00 00 FF FF 00 00  ; Octet $37 ! (00 01) = (FF + 01) = 256
$40: FF FF 00 00 FF FF 00 00
$48: FF FF 00 00 FF FF 00 00  ; Les FF qui suivent forment la TSM
$50: FF FF 00 00 FF FF 00 00  ; (TSM en anglais TRACK SECTOR MAP.)
$58: FF FF 00 00 FF FF 00 00  ; (en francais PLAN PISTES SECTEURS)
$60: FF FF 00 00 FF FF 00 00  ;
$68: FF FF 00 00 FF FF 00 00  ;
$70: FF FF 00 00 FF FF 00 00  ;
$78: FF FF 00 00 FF FF 00 00  ;
$80: FF FF 00 00 FF FF 00 00  ;
$88: FF FF 00 00 FF FF 00 00  ;
$90: FF FF 00 00 FF FF 00 00  ;
$98: FF FF 00 00 FF FF 00 00  ;
$A0: FF FF 00 00 FF FF 00 00  ;
$A8: FF FF 00 00 FF FF 00 00  ;
$B0: FF FF 00 00 FF FF 00 00  ;
$B8: FF FF 00 00 FF FF 00 00  ;
$C0: FF FF 00 00 00 00 00 00  ;
$C8: 00 00 00 00 00 00 00 00  ;
$D0: 00 00 00 00 00 00 00 00  ;
$D8: 00 00 00 00 00 00 00 00  ;
$E0: 00 00 00 00 00 00 00 00  ;
$E8: 00 00 00 00 00 00 00 00  ;
$F0: 00 00 00 00 00 00 00 00  ;
$F8: 00 00 00 00 00 00 00 00  ;

Voici pourquoi on a crée la VTOC : - Pour indiquer la piste/secteur du CATALOG
                                   - Pour savoir quels sont les secteurs libres

Voici ce qui nous interesse dans la VTOC : - La piste et le secteur du CATALOG
(en tant que déplombeurs fous)             - Le nombre de pistes de l'original

Si tu veux, je t'expliquerais comment les secteurs vides ou occupés sont
indiqués dans ce PLAN du disk. Aucun bouquin correct ne parle de ça, meme
des bouquins Américains ou Anglais.

Voici la liste non hexaustive des divers programmes permettant de voir la TSM

- COPY II+              - Option TRACK SECTOR MAP
- DISK MUNCHER 8.0      - Option CATALOG SOURCE ou TARGET (TARGET = Cible)
- DISKFIXER 4.0         - Option 'V' pour VTOC EDITOR (pour modifier la TSM)
- THE VTOC CONSTRUCTOR  - Programmé par KRISTO (à paraitre dans HEBDOGICIEL)

On a vu dans un des cours précédents que la VTOC était 'pointée' dans le DOS
par les adresses suivantes :

- $AC01 pour la piste   (Dans un dos normal : 11) STocké en $B5FA
- $B00D pour le secteur (Dans un dos normal : 00) STocké ds Y

                QUE SE PASSE T'IL QUAND ON TAPE CATALOG ???
                ===========================================

Si on liste le DOS à partir de $AC00, on a :

AC00-  A9 11      LDA #$11      ; Piste de la VTOC
AC02-  8D FA B5   STA $B5FA...

Si on liste le DOS à partir de $B009, on a :

B009-  AE FA B5   LDX $B5FA
B00C-  A0 00      LDY #$00      ; Secteur de la VTOC
B00E-  4C 52 B0   JMP $B052

Si on liste le DOS à partir de $B052, on a :

B052-  8E EC B7   STX $B7EC ; $B7EC correspond à la piste à lire
B055-  8C ED B7   STY $B7ED ; $B7ED correspond au secteur à lire

et peut après se trouve un accès RWTS pour lire le secteur de la VTOC. OK?

Le DOS vient donc de charger en mémoire le secteur de la VTOC, Il va ensuite
éxaminer les octets $01 et $02 pour aller trouver le premier secteur du CATALOG
et le lire.

Ici, c'est un DOS 3.3 normal et il va trouver 11 0F. Il lit donc la piste $11/F
et inscrit à l'écran le début du CATALOG avant, s'il reste des programmes, de
passer au secteur suivant du CATALOG...

Plusieurs questions se posent alors :

- Comment est organisé le CATALOG ?
- Comment sait il que c'est la fin du CATALOG ?
- Comment sont codés le type du fichier, sa longueur, son nom ?
- Comment sont inscrits les fichiers effacés ?
  (on peut les dé-éffacer avec le COPY II+ 5.x Option UNDELETE FILES)

                            TOUT SUR LE CATALOG
                            ===================

READ: $11 $0F (D'après les octets $01 et $02 de la VTOC)
*---------------------------------------*
! $00: 00 11 0E 00 00 00 00 00 ........ !
! $08: 00 00 00 12 0F 82 C8 C5 ......HE !
! $10: CC CC CF A0 A0 A0 A0 A0 LLO      !
! $18: A0 A0 A0 A0 A0 A0 A0 A0          !
! $20: A0 A0 A0 A0 A0 A0 A0 A0          !
! $28: A0 A0 A0 A0 06 00 14 0F     .... !
! $30: 81 C9 CE D4 C5 C7 C5 D2 .INTEGER !
! $38: A0 A0 A0 A0 A0 A0 A0 A0          !
! $40: A0 A0 A0 A0 A0 A0 A0 A0          !
! $48: A0 A0 A0 A0 A0 A0 A0 12        . !
! $50: 00 15 0F 80 D4 C5 D8 D4 ....TEXT !
! $58: C5 A0 A0 A0 A0 A0 A0 A0 E        !
! $60: A0 A0 A0 A0 A0 A0 A0 A0          !
! $68: A0 A0 A0 A0 A0 A0 A0 A0          !
! $70: A0 A0 03 00 16 0F 81 C1   .....A !
! $78: D0 D0 CC C5 D3 CF C6 D4 PPLESOFT !
! $80: A0 A0 A0 A0 A0 A0 A0 A0          !
! $88: A0 A0 A0 A0 A0 A0 A0 A0          !
! $90: A0 A0 A0 A0 A0 06 00 17      ... !
! $98: 0F 84 C2 C9 CE C1 C9 D2 ..BINAIR !
! $A0: C5 A0 A0 A0 A0 A0 A0 A0 E        !
! $A8: A0 A0 A0 A0 A0 A0 A0 A0          !
! $B0: A0 A0 A0 A0 A0 A0 A0 A0          !
! $B8: 1A 00 00 00 00 00 00 00 ........ !
! $C0: 00 00 00 00 00 00 00 00 ........ !
! $C8: 00 00 00 00 00 00 00 00 ........ !
! $D0: 00 00 00 00 00 00 00 00 ........ !
! $D8: 00 00 00 00 00 00 00 00 ........ !
! $E0: 00 00 00 00 00 00 00 00 ........ !
! $E8: 00 00 00 00 00 00 00 00 ........ !
! $F0: 00 00 00 00 00 00 00 00 ........ !
! $F8: 00 00 00 00 00 00 00 00 ........ !
*---------------------------------------*

Dans chaque secteur du CATALOG, on trouve :

- Octets $01 et $02 : Piste et secteur du secteur suivant du CATALOG

- Octets $0B à $2D : - La piste de la liste des secteurs du programme 1 (en $B)
                     - Le secteur de la liste des sect. du programme 1  (en $C)
                     - Le type du programme 1 (en $D) (voir tableau TYPE)
                     - Le nom du programme 1 en ASCII (30 caractères)
                     - Le nombre de secteurs du programme (en $2C)
                     - Un octet d'espacement pour le programme 2 ($2D:00)

et on recommence ainsi (pareil qu'en $0B) pour le programme suivant...

- Octets $2E à $50 : - Description programme 2
- Octets $51 à $73 : - Description programme 3
- Octets $74 à $96 : - Description programme 4
- Octets $97 à $B9 : - Description programme 5
- Octets $BA à $DC : - Description programme 6
- Octets $DD à $FF : - Description programme 7

TABLEAU DES TYPES DE PROGRAMMES : - 80 : FICHIER TEXTE
*******************************   - 81 : FICHIER INTEGER
                                  - 82 : FICHIER APPLESOFT
                                  - 84 : FICHIER BINAIRE

Lorsque le DOS lit des 00 a l'emplacement suivant des programmes du CATALOG,
il estime que c'est la fin du CATALOG. Ainsi, ici, il va voir le premier fichier
et l'inscrire à l'écran, va passer au second et ainsi de suite jusqu'au
quatrième. Quand il cherchera les data concernant le cinquieme, il ne verra que
des 00 et arretera là le CATALOG.

Ceci explique que : - On trouve en piste $11 02 aux octets $1/2 : 11 01
                 et - La piste $11 01 n'indique aucun autre secteur suivant...

C'est pour limiter le CATALOG à 14 secteurs (de $F à $1) soit à 15*7 programmes
donc 105 programmes par disk. Il est evidemment possible d'augmenter ce nombre
en 'détournant' les secteurs du CATALOG pour en mettre plus de 14 utilisables.

On à vu dans un cours précedent comment avoir un CATALOG INFINI. Ceci n'est
evidemment pas possible si le disk comporte moins de 6 programmes car le DOS
va reperer la fin du CATALOG dés la lecture du premier secteur.

                                EXERCICE
-------------------------------------------------------------------------------
Si vous tapez CATALOG avec le disk contenant un tel CATALOG en piste $11/F, que
va-t-on voir s'afficher ?
-------------------------------------------------------------------------------

On a vu que les 2 premiers octets avant chaque programme concernent le secteur
où se trouve la TS List concernant le programme en question...

                           TOUT SUR LA TS List
                           ===================
Voici la tete d'une TS List : (ici pour le programme HELLO)

$00: 00 00 00 00 00 00 00 00 ! Dans le cas où la TS list ne puisse pas
$08: 00 00 00 00 12 0F 12 0E ! tenir dans un seul secteur, les octets
$10: 12 0D 12 0C 13 0F 13 0E ! $01 et $02 indiqueront le secteur de la
$18: 00 00 00 00 00 00 00 00 ! suite de la TS list comme pour le catalog...

Je résume rapidement avec un petit organigramme nul:
===============================================================================
COMMANDE 'LOAD HELLO'

A ==> Lis la VTOC
B ==> Lis le premier secteur du CATALOG
C ==> Cherche 'HELLO                      '

  D --> Trouvé ==> Charge la TS list de HELLO (GOTO H)
  E --> Pas trouvé ==> Passe au secteur suivant du CATALOG

      F --> C'est le dernier ==> Affiche 'FILE NOT FOUND'
      G --> Ce n'est pas le dernier ==> lis le secteur (GOTO C)

H ==> Lis les secteurs du programme un par un en mémoire...

      I --> La TS list est finie... ==> GOTO FIN
      J --> La liste fait deux secteurs ==> Lecture du second secteur + GOTO H

FIN ==> Rend la main à l'utilisateur. Le programme HELLO vient de se charger.
===============================================================================

                 A QUELLE ADRESSE LE FICHIER VA T-IL SE CHARGER ???
                 ==================================================
                            POUR LES FICHIERS BINAIRES
                            ==========================

Il se présente deux cas... Le cas où l'adresse est indiquée par l'utilisateur
et le cas où elle ne l'est pas...

1er CAS : ]BLOAD BINAIRE,A$2000. BINAIRE va obligatoirement se charger en $2000

2em CAS : ]BLOAD BINAIRE. Tout dépend du type du fichier !!!

Pour bien comprendre où le fichier va se charger dans le deuxième cas, il faut
bien comprendre le contenu des secteurs d'un fichier sur disk...

QUESTION - Vous tapez BLOAD BINAIRE. Il est evident que le fichier BINAIRE ne
           va pas se charger n'importe où en mémoire mais au contraire toujours
           à la meme place à chaque BLOAD. Où donc sur le disk se trouve
           l'adresse de départ de BINAIRE.? (ou 'STARTING ADDRESS')         ???

Le tableau ci dessous explique tout :
-------------------------------------------------------------------------------
TYPE DU FICHIER   SECTEUR    OCTET (Hex)  CONTENU

BASIC             1er        0            Longueur du programme (Adresse Basse)
                             1            Longueur du programme (Adresse Haute)
                             2 à FF       Début du programme...

TEXTE             NE PEUT ETRE CHARGE     Représentation des caractères par
               (PAS D'ADRESSE DE DEPART)  leur valeur ASCII. Un caractère par
                                          Octet. (00 indique la fin du fichier)

BINAIRE           1er        0            Adresse de début en RAM (Adr. Basse)
                             1            Adresse de début en RAM (Adr. Haute)
                             2            Longueur de la zone en RAM  (.Basse)
                             3            Longueur de la zone en RAM  (.Haute)
                             4 à FF       DATA BINAIRES...
-------------------------------------------------------------------------------

Donc, pour revenir à notre 2em CAS : ]BLOAD BINAIRE va entrainer les opérations
suivantes par le DOS:

- Charge la VTOC
- Charge les secteurs du CATALOG un à un jusqu'à ce que le DOS trouve 'BINAIRE'
- Charge la TS list de BINAIRE
- Charge les secteurs indiqués par la TS list en mémoire à l'adresse indiquée
  par les octets $00 et $01 du premier secteur de BINAIRE chargé dans un
  BUFFER du DOS.

                    ==========================================
                    QUELLE ADRESSE POUR LES FICHIERS BASIC ???
                    ==========================================

L'adresse de chargement d'un fichier BASIC est indiquée en page 0 aux adresses
suivantes:

$67 : Adresse basse de chargement du programme BASIC (Initialement 01)
$68 : Adresse haute de chargement du programme BASIC (Initialement 08)

On peut modifier ces adresses avant un LOAD pour charger le programme ailleurs
en mémoire afin d'éviter une routine logée en $800 ou $900 par exemple...

L'adresse de fin d'un programme BASIC est en $AF et $B0.

Ces quatre adresses dépendent de la ROM BASIC, pas du DOS mais le DOS s'en sert

(Exemple : LA BETE DU GEVAUDAN. Le programme principal en BASIC est chargé en
$7800 ou environs et s'execute parfaitement normalement... Des routines machine
sont en $800 et environs)

                       LES FICHIERS EFFACES PUIS UNDELETéS
                       ===================================
                             (Grace au COPY II+ 5.x)

LORSQUE L'ON TAPE ]DELETE HELLO, tous les secteurs du programme ne vont pas
etre éffacés, ca ferait perdre du temps et surtout, la possibilité de récuperer
le programme.

En fait, les seules différences se trouvent :

- dans la TSM (TRACK SECTOR MAP) dans laquelle les secteurs précedemment
  occupés par HELLO sont marqués comme libres...
- dans le CATALOG dans lequel le programme est noté comme éffacé.

Un programme éffacé du DOS est différent d'un programme éxistant juste par deux
octets :

Sur un programme effacé :
-------------------------
- le dernier octet du nom est remplacé par la piste de la TS list du programme
- l'octet piste de la TS list est mis à $FF

Aussi quand le COPY II+ 5.x fait réapparaitre un programme du CATALOG, ce n'est
pas un miracle. C'est juste qu'aucun secteur du programme n'a pas été éffacé
et qu'il replace l'octet piste à sa place initiale, laissant le dernier octet
du nom à $A0 (un espace).

J'espere que tu as tout compris sur le DOS et compagnie...

En attendant, voici un bref inventaire de tous les meilleurs DOS actuellement
en circulation..

                        Inventaire des DOS disponibles
        ===============================================================

1. DOS TRACER (ou PAUL DOS)
-------------------------------------------------------------------------------
Il affiche en bas à droite de l'écran la piste, le secteur et la commande
donnée avant l'accès RWTS. Pratique pour retrouver sur quel secteur agit une
vérif' de disk faite à travers la RWTS du DOS d'un original.. (ex : Opium)

2. DOS TRACER PATCHMAN
-------------------------------------------------------------------------------
En cours de réalisation au 22/08/87. C'est un DOS TRACER amélioré...

3. FLASH DOS par INDIANA DISK
-------------------------------------------------------------------------------
Aucun commentaire pour le moment.. je le décortique avant d'en parler..

4. PRONTO DOS
-------------------------------------------------------------------------------
Commande très sympa : TYPE pour lire un fichier texte

5. ZDOS 2.2
-------------------------------------------------------------------------------
Commande très sympa : HIDE pour faire disparaitre un fichier du catalog sans
pour autant l'effacer du disk.. on peut toujours le RUN/BRUN/BLOAD/LOADer !!

6. DAVID DOS (ou HIDOS)
-------------------------------------------------------------------------------
Commandes sympa : FIND pour trouver des octets (on va voir ca dans le cours 8),
TLOAD, TLIST pour lire des fichiers, AL pour connaitre l'adresse de départ et
de fin du dernier fichier chargé, DISA pour désassembler la mémoire à l'écran..
et pleins d'autres...

7. DAVID DOS II
-------------------------------------------------------------------------------
Le meme que le 1er, sans la commande FIND (ils craignent les pirates ou quoi?).
Commande très sympa en plus : TSAVE !!! c'est un éditeur de texte complet quoi!

8. DOS 3.3 MASTER
-------------------------------------------------------------------------------
Question commandes, question programmation, c'est le premier donc le plus nul,
mais souvent, des programmes de plombages ne plomberont que si le disk à
plomber boote sur un DOS 3.3 MASTER $9600 ou meme des fois, $1600 comme à
l'aube des temps...

9. DOS $1600 (ou "WILD-DOS")
-------------------------------------------------------------------------------
Utile pour la mise en catalog. On en reparlera au moment du cours 11.

10. DOS SREAD/SWRITE
-------------------------------------------------------------------------------
Voir futur cours 7. SREAD permet de lire un secteur et SWRITE de l'écrire..
Plus besoin de se casser avec la RWTS comme dans le cours 3.

11. DOS EOR 1.00
-------------------------------------------------------------------------------
Voir GODFATHER'S PRODUCTS #2... Sans cesse révisé..

12. DOS CODE SECTEURS 1.00
-------------------------------------------------------------------------------
Voir GODFATHER'S PRODUCTS #7... Sans cesse révisé..

 ...A la prochaine.                                    Amicalement, GODFATHER!


Retour sommaire

hr cours GDF

Cours 4 exercices.


===============================================================================
COURS 4 / EXERCICES                                             Update 04/09/87
===============================================================================
Révision 3.61

J'essaye à chaque cours d'associer un original à déplomber mais pour certains
cours tels que celui ci, ce n'est pas possible, le sujet traité n'étant pas
directement attaché au déplombage... Pour compenser, je vous ai fait ce fichier
à exercice...

Attention! Le cours doit obligatoirement précéder la lecture de ce fichier.
Bossez bien le cours et revenez par ici ensuite..

                   Exercice 1 : Retrouver un Catalog caché
                ---------------------------------------------
                           Où est DISK RECOVERY ???

Je vous ai déjà parlé de l'outil de déplombe de ce cours : DISK RECOVERY
or, ce programme n'est pas, comme d'habitude en CATALOG. Mais alors, je
vous en parle, je vous dit que je vous l'ai copié et il n'est pas sur ce
disk ?? QUID ?? Alors, comment le faire réapparaitre ???

Je vous aide : ce second catalog est placé sur la piste $10 de la face B de
ce cours !!

L'EXERCICE  est donc de récupérer ce fichier et de le sauver en
=========== CATALOG normal sur ce disk. Pour le retrouver, pensez
(DIFFICULTE : **) à la piste que vous avez : SON NOM 'DISK RECOVERY'...
donc le nom que vous devez chercher sur ce disk. Pour le recuperer, pensez
aux adresses qui permettent de faire CATALOG avec un CATALOG sur une autre
piste que la piste habituelle $11. Pour le sauver sur un disk vierge, pensez
à remettre les valeurs normales à ces adresses et à chercher son adresse de
départ et de fin dans le DOS... Ce n'est pas dur si vous avez tout bien
assimilé des deux derniers cours...alors je vous souhaite Bonne chance !!!



        ATTENTION !! N'ALLEZ PAS PLUS LOIN !! VOICI LA SOLUTION !!


1. Où est Disk Recovery ???
-------------------------------------------------------------------------------
L'adresse primordiale à avoir retenu est : $AC01.
Elle se trouve dans la routine CATALOG du DOS, et son contenu indique au DOS
la piste sur laquelle se trouve situé le catalog du disk en DOS dans le drive.
Je vous ait dit que la piste du second catalog était la piste $10.
Il suffit donc de faire : ]CALL-151 puis *AC01 : 04 puis *A56EG (ou CATALOG).
Et là, le catalog apparait avec le programme que l'on recherchait comme seul
fichier !!..

Il suffit ensuite de faire un Bload, de regarder le contenu des adresses
$AA72,$AA73,$AA60,$AA61, de rectifier la piste du catalog en $AC01 ($11)
puis de faire un BSAVE sur un disk quelconque, en ayant mémorisé le contenu
des 4 adresses précédemment éxaminées qui, comme on le voit dans le cours,
correspondent à l'adresse de départ et à la longueur du dernier fichier
à avoir été chargé par le DOS. (LOAD, BLOAD, BRUN, RUN...), donc A$ et L$
pour le fichier DISK RECOVERY !! (]BSAVE DISK RECOVERY,A$803,L$2AFD,
car $AA72 : 03 08 et $AA60 : FD 2A)

Après le cours 8 (recherches en tout genre), vous auriez été capable de
trouve la piste du catalog uniquement en recherchant le nom du fichier en
ASCII, depuis la piste $00.. sans que je vous dise quelle était le numéro
de cette piste !...

                                                         Amicalement, GODFATHER
===============================================================================


Retour sommaire

hr cours GDF

Les programmes de ce disk.


  _ Les programmes de ce disk ________________________________________________
 !                                                                            !
 ! DOS.CDI.S et DOS.FILE.MANAGER.S sont les 2 sources qui composent le nerf   !
 ! du DOS. Avec le source de toute la RWTS 3.3 donné dans le précédent cours, !
 ! vous avez un DOS entièrement relogeable et modifiable à volonté !!!        !
 ! Ces 3 sources qui forment le Dos sont un véritable trésor pour n'importe   !
 ! quel programmeur éclairé !                                                 !
 !                                                                            !
 ! DISKFILLER 3.1 est un programme sympa dont je suis l'auteur avec mon cher  !
 ! college Kristo.. Je vous en parle pas plus, y'a tout un fichier dessus...  !
 !                                                                            !
 ! DISK RECOVERY est un autre programme sympa.. très simple d'utilisation..   !
 ! mais il n'apparait pas au CATALOG.. !! C'est l'objet d'un exercice...      !
 ! allez voir le fichier exercices..                                          !
 !                                                                            !
 ! DISKET-SCOPIE est un programme de "visualitation de la Vtoc"..             !
 ! Vous savez ainsi ce qui est libre.. ce qui est occupé.. agaga.. agaga..    !
 !____________________________________________________________________________!


Retour sommaire

hr cours GDF

Et la prochaine fois.



- Et là prochaine fois, mon capitaine ??..
- Ah! La prochaine fois, on va s'amuser..
- S'amuser, mon général ??
- Oui moussaillon.. s'amuser à signer les images des disks que l'on a déplombé!
- Mais c'est facile.. On tape CATALOG puis..
- Oui mais s'il n'y a pas de catalog.. prenez un ELECTRONIC ARTS par exemple
- Ben justement.. et ces techniques là, c'est classé TOP SECRET !!!
- Ouah !!!...Alors à la prochaine capitaine..

COURS 5 : Signez vos disks déplombés...                  22/01/87 Par Godfather
===============================================================================
Révision 3.00

- COMMENT SIGNER LES DISKS QUE VOUS AVEZ DEPLOMBE ?!?...
  (Les images qui se chargent en accès direct du disk et nom pas en catalog)

- Pleins de nouveaux outils complètement TOP-SECRET :

        - SMART SCAN + ERROR (C) DAVID MICROCOSM
        - CHASSEUR D'IMAGES  (C) HEBDOGICIEL (Prix 10000F Concours mensuel)
        - QUICK SEEKER       (C) COCHONOU CRACK BAND
        - PICTURE FINDER     (C) MISTER DD (TMC)
        - PICSCAN            (C) THE ALIEN
 (NEW)  - AUTOSCAN           (C) CHIP SELECT
 (NEW)  - MANUAL SCAN        (C) COPYART
 (NEW)  - INDISCRETION 2.00  (C) PATCHMAN


Retour sommaire

hr cours GDF

Documentation du David Dos.


-------------------------------------------------------------------------------
David Dos Doc.                                                        Godfather
-------------------------------------------------------------------------------
Salut!
        Voici la doc complete du David Dos 1, encore inédit à ma connaissance
        dans la doc-teque des applemaniaques francais..
        Tout y est.. en anglais malheureusement...
        Bossez la bien! c'est un Dos de pirate super utile !!

                                        Amicalement, Godfather
-------------------------------------------------------------------------------
                                                               Page 1

                                  DAVID-DOS
                        COPYRIGHT 1982 DAVID WESTON

                              INSTRUCTION MENU

                           1-SCROLLING
                           2-INSTALLING DAVID-DOS
                           3-USING DAVID-DOS
                           4-MACHINE NOTES
                           5-COPY PROTECTION
                           6-DISCLAIMER & NOTICE

                             (PRESS NUMBER)


                      PRESS ESC TO RETURN TO MAIN MENU

                   ***************************************


                                 SCROLLING


SCROLLING IS STOPPED WITH ANY KEY.  THE SECOND PRESS, (ANY KEY), RESTARTS
THE SCROLL AND DETERMINES YOUR SPEED UNTIL THE NEXT PAIR OF KEY PRESSES.
TYPICAL SPEEDS FOR THE SECOND KEY PRESS ARE:

   B.......FASTEST
   <-
   ->
   SPC BAR
   /
   ;.......SLOWEST

SCROLLING IS TERMINATED BY USING THE RETURN KEY ON THE SECOND KEY PRESS.

                    ***************************************


                             INSTALLING DAVID-DOS


DOS, (RHYMES WITH MOSS), RESIDES ON YOUR DISKS IN TRACKS ZERO, ONE AND TWO.
DAVID-DOS UPDATES DOS WITHOUT TOUCHING YOUR DISK PROGRAMS.  YOU MAY REMOVE
DAVID-DOS BY USING THE 'MASTER CREATE' PROGRAM ON YOUR DOS 3.3 SYSTEM
MASTER.

IF YOU HAVE A DISK WITH A SPECIAL DOS ON IT, THEN MAKE A BACK-UP OF IT
FIRST WITH COPYA ON THE APPLE SYSTEM MASTER AND INSTALL DAVID-DOS ON THE
BACK-UP COPY.  THE SPECIAL DOS ON YOUR DISK MAY BE NECESSARY TO RUN ITS
PROGRAMS, IN WHICH CASE DAVID-DOS MAY NOT WORK.

ALL INSTALLING IS DONE WITH ONE DISK DRIVE.  YOU MAY PROCEED WITH ALL THE
INSTALLATION FEATURES ON THE MENU WITH- OUT REINSERTING THE INSTALLATION
DISK.

YOUR ORIGINAL HELLO PROGRAM NAME AND TYPE ARE AUTOMATICALLY PRESERVED
DURING THE INSTALLATION.

THERE ARE THREE VERSIONS OF DAVID-DOS. NORMALLY YOU WILL USE NUMBER ONE.

                                                          Page 2

IF A PROGRAM WILL NOT RUN WITH DAVID- DOS (NO1) THE PROGRAM PROBABLY
REQUIRES A STANDARD CATALOG HEADING. USE DAVID- DOS WITHOUT FREE SPACE
(NO2), WHICH HAS A STANDARD CATALOG HEADING.

GREAT CARE WAS TAKEN TO KEEP DAVID-DOS STANDARD WITH ALL ENTRY ADDRESSES
PRESERVED AND ONLY TWO ROUTINES MOVED.
IN THE RARE INSTANCE YOUR PROGRAM STILL WILL NOT RUN THEN USE BARE-BONES
DAVID-DOS (NO3) WHICH HAS THE SPEED BUT NOT THE EXTRA COMMANDS OF NO1 & 2.
DAVID-DOS (NO3) DOES HAVE ONE EXTRA COMMAND: TLOD. NOTE THE SHORT SPELLING.

INSTALLING (NO3) LEAVES YOUR ORIGINAL DOS INTACT EXCEPT FOR THE INIT AREAS.

USE THE INIT FEATURE ON THE MENU FOR BLANK DISKS. THE INIT FEATURE FORMATS
YOUR DISK AND INSTALLS DAVID-DOS. NOW YOU MUST SAVE YOUR HELLO PROGRAM.
SAVE THE PROGRAM USING THE HELLO NAME YOU YOU CHOSE.  MAKE SURE THE PROGRAM
TYPE YOU SAVE MATCHES THE TYPE YOU INITED WITH, (BASIC, BINARY, OR EXEC).

THE DATE COMMAND (NO4) INSTALLS ON TOP OF THE FIRST TWO VERSIONS OF
DAVID-DOS. IT KNOWS IF YOU'RE USING THE WRONG DISK AND STOPS WITH A
MESSAGE.  TO REMOVE THE DATE COMMAND SIMPLY RE-INSTALL DAVID-DOS.  THE DATE
COMMAND ROUTINE IS SET UP FOR THE MOUTAIN HARDWARE CLOCK CARD.  SEE THE
CATALOG FOR OTHER CLOCK CARDS.

                    ***************************************


                              USING DAVID-DOS


WHEN LOADING OR RUNNING AN APPLESOFT OR INTEGER PROGRAM DAVID-DOS SEARCHES
ALL THE SLOTS FOR THAT LANGUAGE. IF THE LANGUAGE IS FOUND THE RAM OR ROM
CARD IS AUTOMATICALLY TURNED ON.  THIS ALSO APPLIES WITH HIDOS.


DAVID-DOS HAS THESE ADDED COMMANDS:

   /......CATALOG
   TLOAD..SPEED LOAD ALL TEXT FILES
   TLIST..LIST ALL TEXT FILES
   DUMP...BINARY/ASCII
   DISA...DISASSEMBLE BINARY
   AL.....ADDRESS/LENGTH OF LAST LOAD
   HIDOS..MOVE DOS IN MEMORY TO CARD#0
   FIND...FIND HEX CHARACTER SEQUENCES
   DATE...PRINT MOUNTAIN HARDWARE DATE
   (SPARE)FUTURE USE

HERE ARE THE COMMAND PARAMATERS:

TLOAD..A(DDR..L(EN..S(LOT..D(RIVE..V(OL
/...................S......D.......V
TLIST
DUMP...A......L
DISA...A......L
AL
HIDOS
FIND...HEX BYTES
DATE

THE A  AND  L  MAY ALSO BE $A AND $L. ALL THESE COMMANDS MAY BE USED IN
BASIC PROGRAMS USING D$ IN THE NORMAL WAY.


BASIC AND BINARY PROGRAMS ARE SPEED LOADED BYTE BY BYTE ON THE FIRST AND
LAST PAGES AND PAGE BY PAGE ON THE MIDDLE SECTORS.  THIS GIVES TOTALLY
ACCURATE HIGH SPEED LOADS.  ALL SAVES ARE VERIFIED.
                                                          Page 3

TLOAD SPEED LOADS A RANDOM OR SEQUENTIAL TEXT FILE STARTING AT $1000 OR ANY
ADDRESS YOU CHOOSE WITH THE  'A' PARAMETER.  IF YOU WANT LESS THEN THE
WHOLE FILE USE THE 'L' PARAMETER, OTHERWISE, TLOAD ALWAYS LOADS THE WHOLE
TRACK & SECTOR LIST ALLOTTED TO THE FILE.  THIS IS NECESSARY BECAUSE DOS
NEVER RECORDS THE LAST BYTE OF A TEXT FILE.  WE CAN'T LOOK FOR THE FIRST
'0' AS THE END MARK BECAUSE WE ALSO LOAD RANDOM FILES AND THEY DON'T USE AN
'0'. THEREFORE, TLOAD WITHOUT 'L' LOADS THE ENTIRE LAST SECTOR EVEN IF THE
FILE ENDS IN THE MIDDLE OF THE SECTOR. YOU CAN, IF DESIRED, MAKE TLOADS TO
EXACT LENGTH WITH 'L'.


THE TLIST COMMAND LISTS THE LAST TLOAD YOU HAVE MADE AND LISTS IT TO
WHATEVER LENGTH YOU LOADED IT.

YOU WILL GET A "FILE NOT FOUND" MESSAGE IF THERE HAS BEEN A LOAD OR A BLOAD
BETWEEN TLOAD AND TLIST. RESULTS COULD BE UNPREDICTABLE IF THIS SAFE-GUARD
WERE ABSENT.

STRETCHES OF ZEROS ARE EXCLUDED DURING TLISTING.  IF YOUR TFILE IS LESS
THAN ONE SECTOR LONG THERE MAY BE GARBAGE SHOWN PAST THE END OF IT.  THIS
IS NORMAL AND DUE TO THE WAY DOS HANDLES ONE SECTOR.  THE GARBAGE IS NOT
PART OF YOUR FILE.

SEE THE 'CREATE TLOAD STRING VARIABLES' UTILITY FOR APPLESOFT VARIABLES.

A RANDOM TEXT FILE WITH R>256 PUTS GAPS IN THE TRACK & SECTOR LIST AND
TLOAD WILL STOP AT THE FIRST GAP.


THE DUMP AND DISA COMMANDS START AT $0 OR YOUR 'A'.

  EXAMPLES: DUMP,A2048 OR DUMP,A$800

TO MAKE THEM 50 BYTES LONG USE 'L'.

  EXAMPLE: DISA,A2048,L50

THE DUMP COMMAND SKIPS THE SOFT SWITCH- ES AT $C000. THE DISA COMMAND DOES
NOT.


THE AL COMMAND SHOWS THE ADDRESS AND LENGTH OF THE LAST LOAD, BLOAD, TLOAD,
DUMP, OR DISA WITH ONE EXCEPTION.  THE AL COMMAND SHOWS L65059 FOR A TLOAD
THAT DIDN'T SPECIFY 'L'.

THE AL COMMAND MAY BE USED FOR HANDY HEX/DECIMAL CONVERSION. START A DUMP
AT THE NUMBER OF INTEREST, STOP IT AND HIT AL.


THE / COMMAND, (UNSHIFTED ?), IS A CONVENIENT WAY TO QUERY YOUR DISK. TO
EXIT THE CATALOG ON ANY PAGE, PRESS CTRL C INSTEAD OF RETURN.  THE CATALOG
HAS ALSO BEEN FIXED TO SHOW FILE LENGTHS UP TO 65535 SECTORS.


THE HIDOS COMMAND FIRST CHECKS FOR A LANGUAGE CARD IN SLOT #0, THEN CHECKS
FOR A DAVID-DOS DISK IN THE DRIVE. YOU WILL GET AN ERROR MESSAGE IF A
DAVID- DOS DISK IS NOT IN THE DRIVE.  IF YOU ARE USING ONERR GOTO, THE
NUMBER FOR THIS ERROR IS 32.

HIDOS THEN LOADS DOS RESIDING IN MEMORY TO THE CARD AT $DD00.  HIMEM: IS
SET AT $BE00.  MAXFILES IS AUTOMATICALLY LIMITED TO FIVE.  ALL BASIC
PROGRAMS WHICH DO NOT PEEK OR POKE DOS DIRECTLY WILL RUN FINE.  HIDOS
CLEARS MEMORY FROM $9500 TO $BFFF DURING EXECUTION.

THE CATALOG SHOWS HIDOS AS 'VOL-H-FREE'

                                                          Page 4

HIDOS MAY BE USED IN BASIC PROGRAMS. YOU CAN MAKE AN APPLESOFT TURNKEY
HELLO PROGRAM WITH IT.

  EXAMPLE: 10 D$ = CHR$(4): POKE 217,0
           20 PRINT D$"HIDOS"
           30 POKE 103,1: POKE 104,8
           40 D$ = CHR$(4)
           50 PRINT D$"PR#3"
           60 THE REST OF YOUR PROG.

LINE 10 CLEARS THE INTEGER LINE# PTR.
LINE 30 RESETS THE PROGRAM 1ST STATEMENT ADDRESS TO $801. STRING STATEMENTS
SUCH AS A$="FUN" OR DIM A$(X,Y) SHOULD COME AFTER LINE 30.  WE REDID LINE
10 BECAUSE THE D$ STRING WAS LOST DURING THE EXECUTION OF HIDOS.  LINE 50
IS FOR TURNING ON IIE 80 COL CARD IF DESIRED.


FIND AND DATE ARE AVAILABLE IN THE HIDOS MODE ONLY.

FIND SEARCHES FOR ANY HEX SEQUENCE UP TO 31 BYTES LONG.  HIT RETURN BEFORE
ENTERING THE BYTES. PUT A SPACE BETWEEN EACH BYTE.
  EXAMPLE:

  KEYBOARD ENTRY    SCREEN

  FIND              FIND
  HIT RETURN        FIND HEX:
  20 58 FC          FIND HEX:20 58 FC
  HIT RETURN        (FOUND ADDRESSES)

FIND IS AN INPUT TYPE COMMAND.  WHEN FIND IS USED IN A PROGRAM THERE MUST
BE AN INPUT BEFORE THE PROGRAM CONTINUES.


TYPE DATE TO PRINT: DATE 12/31/82
USE CALL IN A PROGRAM:

 10 PRINT "WE SHIPPED TODAY,";
 20 CALL 48659
 30 PRINT ", BY UPS."

 WE SHIPPED TODAY, 12/31/82, BY UPS.


FOR PRINTING THESE INSTRUCTIONS AND FOR MORE EXAMPLES AND UTILITIES, SEE
THE CATALOG ON THIS DISK.

                    ***************************************


                               MACHINE NOTES


TWO EXTRA VARIABLES ARE USED IN ZERO PAGE. THEY ARE $1D & $1E. THEY USUALLY
HAVE THE ENDING ADDR OF LOADS IN THEM.

DURING LOADS THE VALUES OF $20-$24 ARE SAVED, THE VARIABLES USED, THEN THE
ORIGINAL VALUES RESTORED.

THE L PARAMETER HAS BEEN CHANGED FROM 7FFF TO FFFF ALLOWING ANY LENGTH
SAVE.

$45 IS NOT USED IN D-D0S, ELIMINATING INTERRUPT CRASHES.



                                                          Page 5

HIDOS LOCATIONS OF INTEREST:

  HIDOS............$DD00
  INDIRECT JUMPS...$D000
  FIND.............$D054
  DATE.............$D0E4
  BANKSW CALL DATE.$BE13
  SWITCH TO DOS....$BF68
  SWITCH TO BASIC..$BEA1
  LENGTH...........$BF60
  ADDRESS..........$BF72
  FMGRLIST.........$BFBB
  IOB..............$BFE8

DAVID-DOS INSTALLATION IMAGE:

    RAM $4000    DISK T6-S1
        $64FF         T8-S5

THE FIND COMMAND READS $D000.$FFFF ON THE MOTHER BOARD AS DOES DISA AND
DUMP. PATCH $D0AB:EA B1 4E TO HAVE FIND READ THE LANGUAGE CARD IN SLOT
ZERO.

                    ***************************************


                              COPY PROTECTION

I HAVE LEFT DAVID-DOS UNPROTECTED TO MAKE IT MOST CONVENIENT AND USEFUL FOR
YOU.  I TRUST YOU WILL RESPECT MY POLICY. TO MAKE A BACK-UP USE COPYA ON
THE DOS 3.3 SYSTEM MASTER.

FOR THOSE FEW WHO LIKE TO GIVE OUT OR SELL COPIES THERE IS A SERIAL NUMBER
IN THE CODE AND RECORDS ARE KEPT FOR TRACING DOWN ILLEGAL COPIES.

IF YOU RECEIVED DAVID-DOS FREE AND YOU FIND THAT IT IS WORTH $39.95 TO YOU,
SEND THE AMOUNT TO ME AND I WILL SEND YOU DAVID-DOS WITH THE LATEST LIBRARY
OF UTILITIES AND SOFTWARE PATCHS.

I WILL BE HAPPY TO RECEIVE YOUR IDEAS AND COMMENTS ABOUT DAVID-DOS AND YOUR
NEW APPLICATIONS OF IT.

                    THANK YOU FOR BUYING MY SOFTWARE.

                               DAVID WESTON


                    ***************************************

                         DISCLAIMER OF ALL WARRANTIES

DAVID DATA & APPLE COMPUTER, INC. MAKE NO WARRANTIES, EXPRESS OR IMPLIED,
ABOUT THE QUALITY, PERFORMANCE, MERCHANTABILITY, OR FITNESS FOR ANY
PARTICULAR PURPOSE OF THIS SOFTWARE AND INSTRUCTIONS.  THE ENTIRE RISK AND
COST IS WITH THE BUYER FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES OR EXPENSES RESULTING FROM THE USE OF THIS SOFTWARE
AND INSTRUCTIONS, EVEN IF DAVID DATA HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.  SOME STATES DO NOT ALLOW ALL OF THE ABOVE.

NOTICE:  DAVID DATA RESERVES THE RIGHT TO MAKE IMPROVEMENTS IN THIS PRODUCT
AT ANY TIME AND WITHOUT NOTICE.

                    ***************************************


Retour sommaire

hr cours GDF

Cours 4 protection (fichier version plus récente).


===============================================================================
COURS 4 PROTECTION FICHIERS DOS                                 Update 01/09/88
===============================================================================
Révision 1.00




Cet update au cours 4 découle du cours 21.. des choses que j'avais pour ainsi
dire oublié de vous dire et qui se reveleront utiles très bientot.. dés
maintenant à vrai dire, si vous souhaitez proteger vos données sur disk,
ou bien dans l'avenir avec de nombreux originaux dont le Starglider de
Rainbird Software du méga-cours 21.

Les chiffres ne veulent rien dire, vous le savez.. alors sachez aussi que
vous pouvez - si vous penser maitriser un minimum les instructions assembleur -
dés maintenant commander ce cours 21, super interessant croyez le bien..

Je ne vais ici developper qu'un très infime aspect de la protection trouvée sur
starglider, et retrouvée sur de nombreux autres originaux.. (dont - de mémoire
- Ultima 4..) dans ce cours car vous allez le voir, cela tourne autour du dos,
à l'origine.. mais on peut aller plus loin que ca, comme on va le voir.

Le probleme est le suivant. Le programme à protéger est en catalog. on a
plombé - exemple - son disk, planqué son catalog comme je l'ai fait sur ce
cours (2eme catalog : voir exercices) - etc.. - et on veut encore rajouter
quelque chose. On veut que, meme si le pirate arrive à retrouver et à afficher
le bon catalog contenant le programme "SECRET" par exemple, il n'arrive pas à
le charger normalement.

L'effet est simple, c'est un peu comme un tour de magie..
On tape CATALOG pour avoir ceci (exemple) :

DISK VOLUME 254

 B 019 PROGRAMME1
 B 034 PI.PROPAGANDE
 A 005 SECRET

Le programme1 ne nous interesse par, l'image non plus, car on se sent beaucoup
plus attiré par le programme "secret".. c'est humain, n'est ce pas..
donc, ce programme étant en basic, on essaye de taper ]LOAD SECRET.
seulement, le dos, après avoir fait un accès disk au catalog nous renvoie le
message "FILE NOT FOUND".. et pourtant, le fichier est bien présent sur la
disquette.. on le voit bien au catalog.. !
Vous aurez beau rééssayer autant de fois que vous le penserez utile, cela
n'aura aucun effet de plus que ce message file not found.

Logiquement, la seule solution à ce fait est que le fichier ne s'appelle pas
simplement "SECRET" mais que d'autres caractères s'ajoutent à ce nom.. mais
attention, des caractères INVISIBLES bien sur puisqu'ils ne s'affichent pas
au catalog, donc des caractères - c'est la seule solution logique - de
controle !.. (ctrl-a par exemple, est un caractère de controle. rappelez vous
cette touche au milieu tout à gauche de votre clavier).

Alors comment faire, si c'est bien la solution pour voir quels sont ces
caractères.. ma foi.. et bien la seule solution est d'aller voir sur le disk
directement.. dans ce catalog.

Il se présente alors deux cas.. si le catalog est en piste $11 et s'il ne
l'est pas.

Si le catalog est en piste $11, il suffit de booter copy II+ 5.x du disk
copy enfoires et d'utiliser les options complémentaires à l'option
catalog de cet utilitaire universel dos. Faites donc CATALOG /HIDDEN CHARS
et inserez le disk concerné dans le drive.. vous aurez ainsil l'affichage
des caractères cachés, de quels caracteres, dans quels programmes, et à
quel endroit dans le nom de chaque programme protégé ainsi anti analyse...

Je ne vous conseille aucunement de le renommer sans caractères de controle
pour pouvoir le charger plus simplement car s'il est utile au pirate (au
déplombage) c'est qu'il est chargé par le soft en question donc quelque part
sur l'original se trouve un LOAD ou BLOAD (etc..) suivi du nom avec caract.
de ctrl_ pour trouver ce fichier. si vous changez ce nom dans le catalog,
le programme ne marchera plus !!

La seule chose à faire est donc de bien noter ce nom avec les emplacement des-
et les caractères de controle. et de faire comme tout à l'heure un load ou un
bload en tapant CTRL-? aux bons moments lors de la frappe du nom du programme
à charger et étudier.

Si le catalog (c'était le 2nd cas à voir) ne se trouve pas en $11 00, il faut
l'y mettre. Pour cela, vous devrez travailler sur une copie de ce soft - que
vous jeterez après car on va se la bousiller rien que pour retrouver le nom de
ce soft - et copiez le secteur $00 de la piste du catalog en piste $11 00
quoi qu'il y ait à cet endroit là (sauf un bout dudit catalog!)...
ensuite, bootez copy II+ 5.x et faites ce que j'ai cité deux paragraphes
ci-dessus. mais n'oubliez pas que vous venez de killer le secteur $11 00 de
cette copie donc jetez là et travailler sur une bonne copie dés que vous
aurez trouvé le vrai nom du fichier que vous cherchez à recuperer.

Si le disk en question est en format plombé, il faudra le déplomber (convertir
tout au moins, au format 3.3) avant d'aller voir les vrais nom de ses fichiers.
Il y a d'autres méthodes - avec le diskfixer 4.00 notamment - mais c'est la
methode la plus logique et simple (et de toutes facons, cette conversion
s'avere etre une étape indispensable à ce déplombage!.. alors...)

Maintenant, il faut noter que ce type de ruses par caractères invisibles peut
aussi etre utilisé dans des programme basic pour en protéger le listing..
(et comble, ds des prg basic protégés en catalog par des car.de ctrl. why not?)

Par exemple, Ctrl-D est l'équivalent de CHR$(4).
Ce caractère de controle dit au dos d'effectuer la commande dos qui suit.
Dans un programme basic, ceci aura pour effet de charger l'image PI.PROPAGANDE
de notre exemple :

10 PRINT CHR$(4);"BLOAD PI.PROPAGANDE,A$2000"

mais ceci aura le meme effet :

10 PRINT "<ctrl-D>BLOAD PI.PROPAGANDE,A$2000"

(prenez <ctrl-D> comme le caractère control-D ou encore ^D).

Ainsi, on peut faire executer un commande dos par un simple list si on
la glisse dans un rem. Tapez ceci :

00 REM BONJOUR MAMAN

List affichera cette ligne comme vous la voyez ci-dessus. Tapez maintenant :

00 REM FP

FP est une commande dos qui a pour fonction de réinitialiser le dos et de
passer au basic en effacant le programme basic actuellement en mémoire.
List affichera simplement cette ligne, comme toute autre ligne texte.
mais si on y glisse le fameux Ctrl-D... ca peut faire un malheur.

00 REM <ctrl-D>FP

List aura l'effet d'un PRINT "<ctrl-D>FP" d'accord, donc effectuera ladite commande!
donc List effacera votre programme dés que ceci s'affichera, et pourquoi pas,
dés la ligne 00 si vous tapez un tel REM.

C'est clean, et c'est puissant.. mais je n,ose pas vous dire d'essayer autre
chose que <ctrl-D>FP. genre INIT ou quoi..

Reflechissez aux possibilités de ces caractères de controle dans vos programmes
en guise de protection, ca peut faire BEAUCOUP de choses très invisibles pour
qui ne connait pas ce domaine. seulement nous, les déplombeurs fous, comme je
dis toujours, il faut tout connaitre si on veut venir à bout de tout sans
avoir de "abandonnés" à son tableau de chasse !.. m'enfin...

J'espère vous avoir bien introduit à ce monde - très simple mais efficace -
des caracteres de controle dans le domaine de la protection logicielle bete
et méchante.

Si vous avez des idées originales de protection par ce type de caractères,
merci de m'en informer, je pourrais en parler ici avec vous!.. alors pensez-y.

Amicalement, papi.
===============================================================================


Retour sommaire

hr cours GDF

Les programmes de ce disk (fichier version plus récente).


  _ Les programmes de ce disk ________________________________________________
 !                                                                            !
 ! DOS.CDI.S et DOS.FILE.MANAGER.S sont les 2 sources qui composent le nerf   !
 ! du DOS. Avec le source de toute la RWTS 3.3 donné dans le précédent cours, !
 ! vous avez un DOS entièrement relogeable et modifiable à volonté !!!        !
 ! Ces 3 sources qui forment le Dos sont un véritable trésor pour n'importe   !
 ! quel programmeur éclairé !                                                 !
 !                                                                            !
 ! DISKFILLER 3.1 est un programme sympa dont je suis l'auteur avec mon cher  !
 ! college Kristo.. Je vous en parle pas plus, y'a tout un fichier dessus...  !
 !                                                                            !
 ! DISK RECOVERY est un autre programme sympa.. très simple d'utilisation..   !
 ! mais il n'apparait pas au CATALOG.. !! C'est l'objet d'un exercice...      !
 ! allez voir le fichier exercices..                                          !
 !                                                                            !
 ! DISKET-SCOPIE est un programme de "visualitation de la Vtoc"..             !
 ! Vous savez ainsi ce qui est libre.. ce qui est occupé.. agaga.. agaga..    !
 !                                                                            !
 ! NEW DOS MAKER pour modifier le dos en mémoire, et le personnaliser!        !
 !                                                                            !
 ! ERROR MESSAGES pour avoir de nouveaux messages d'erreur dos..              !
 !                                                                            !
 ! DISK HELPER , quelques utilitaires dos toujour utiles..                    !
 !                                                                            !
 ! DISK SORT pour classer par types ou par ordre logique, votre catalog.      !
 !                                                                            !
 ! DISK MAP.. un plan "graphique" du disk.. assez sympa.                      !
 !____________________________________________________________________________!


Retour sommaire

hr cours GDF

Cours 4 exercices (fichier version plus récente).


===============================================================================
COURS 4 / EXERCICES                                             Update 04/09/87
===============================================================================
Révision 3.61

J'essaye à chaque cours d'associer un original à déplomber mais pour certains
cours tels que celui ci, ce n'est pas possible, le sujet traité n'étant pas
directement attaché au déplombage... Pour compenser, je vous ai fait ce fichier
à exercice...

Attention! Le cours doit obligatoirement précéder la lecture de ce fichier.
Bossez bien le cours et revenez par ici ensuite..

                   Exercice 1 : Retrouver un Catalog caché
                ---------------------------------------------
                           Où est DISK RECOVERY ???

Je vous ai déjà parlé de l'outil de déplombe de ce cours : DISK RECOVERY
or, ce programme n'est pas, comme d'habitude en CATALOG. De meme que n'est
pas en catalog un fichier basic du nom de DEFI.

Mais alors, je vous en parle, je vous dit que je vous l'ai copié et il n'est
pas sur ce disk ?? QUID ?? Alors, comment le faire réapparaitre ???

Je vous aide : ce second catalog est placé sur la piste $17 de la face B de
ce cours !!.. et il y en a un autre en piste $10 de la meme face!
Vous croyez ca ?.. 3 catalog/s sur la meme face !

L'EXERCICE  est donc de récupérer ce fichier et de le sauver en
=========== CATALOG normal sur ce disk. Pour le retrouver, pensez
(DIFFICULTE : **) à la piste que vous avez : SON NOM "DEFI"...
Un second ficher , binaire cette fois ci , est à récuperer : "DISK RECOVERY"
donc le nom que vous devez chercher sur ce disk. Pour le recuperer, pensez
aux adresses qui permettent de faire CATALOG avec un CATALOG sur une autre
piste que la piste habituelle $11. Pour le sauver sur un disk vierge, pensez
à remettre les valeurs normales à ces adresses et à chercher son adresse de
départ et de fin dans le DOS... Ce n'est pas dur si vous avez tout bien
assimilé des deux derniers cours...alors je vous souhaite Bonne chance !!!



        ATTENTION !! N'ALLEZ PAS PLUS LOIN !! VOICI LA SOLUTION !!


1. Où est le programme basic 'DEFI' et 'DISK RECOVERY' ???
-------------------------------------------------------------------------------
L'adresse primordiale à avoir retenu est : $AC01.
Elle se trouve dans la routine CATALOG du DOS, et son contenu indique au DOS
la piste sur laquelle se trouve situé le catalog du disk en DOS dans le drive.
Je vous ait dit que la piste du second catalog était la piste $17.
Il suffit donc de faire : ]CALL-151 puis *AC01 : 17 puis *A56EG (ou CATALOG).
Et là, le catalog apparait avec le programme que l'on recherchait comme seul
fichier !!..

Vous voyez en catalog le programme basic qui nous interesse. Vous n'aurez qu'à
faire un LOAD DEFI puis SAVE DEFI sur un autre disk en dos 3.3.

Dans le cas d'un programme binaire, il aurait fallu faire ainsi pour le sauver:

Il suffit ensuite de faire un Bload, de regarder le contenu des adresses
$AA72,$AA73,$AA60,$AA61, de rectifier la piste du catalog en $AC01 ($11)
puis de faire un BSAVE sur un disk quelconque, en ayant mémorisé le contenu
des 4 adresses précédemment éxaminées qui, comme on le voit dans le cours,
correspondent à l'adresse de départ et à la longueur du dernier fichier
à avoir été chargé par le DOS. (LOAD, BLOAD, BRUN, RUN...), donc A$ et L$
pour le fichier DEFI.BINAIRE !! (]BSAVE DEFI.BINAIRE,A$____,L$____)

Après le cours 8 (recherches en tout genre), vous auriez été capable de
trouve la piste du catalog uniquement en recherchant le nom du fichier en
ASCII, depuis la piste $00.. sans que je vous dise quelle était le numéro
de cette piste !...

                                                         Amicalement, GODFATHER
===============================================================================


Retour sommaire