Dernière mise à jour: 21/11/2008.
On me demande régulièrement des disques images de
logiciels après être passé sur mon site.
J'essaie dans la mesure du possible de les fournir malgré
les kilomètres qui me séparent du lieu
de stockage de ma collection.
D'habitude, je me contente d'envoyer ça par mail mais dans
le cas
du jeu de rôle Connall,
c'est différent:
Tout d'abord parce que je ne connaissais pas ce jeu: il
était sur une des disquettes de la collection de l'ancien
pirate The White Man que je
n'avais jamais booté depuis sa
récupération.
Ensuite il s'agit d'un logiciel du domaine public écrit par
un particulier, aussi je n'ai aucun
scrupule à le mettre sur ce site pour ceux qui voudraient le
découvrir (ou le redécouvrir). Quelques infos:
Il a été réalisé en 1987
par Philippe Houdry.
Ce soft appartient à la catégorie des jeux de
role de type "Donjon & Dragon" dans le monde de Tolkien.
Visuellement, il y a un affichage en mode HGR (avec des shapes assez
simplistes) et en
mode texte 80 colonnes en utilisant des caractères
accentués français.
Le jeu tient sur 2 faces d'une disquette 5,25 pouces.
Le système d'exploitation utilisé est un PRODOS
1.1.1 (18/09/84) et le BASIC.SYSTEM 1.1.
Le volume s'appelle /F sur les 2 faces.
Les programmes sont en BASIC.
Un aspect attachant et rigolo est l'usage
d'un langage parlé ressemblant à
une sorte de vieux français.
Si ce soft ne m'avait pas été demandé
explicitement (Olivier Jacques),
je pense que je ne l'aurais
même pas mis sous forme de .dsk.
Car en utilisant FASTDSK, il
y avait plusieurs secteurs H.S. Et en
temps normal, je n'aime pas passer trop de temps sur une disquette
abimée (à moins que j'ai un dossier en cours sur
ce sujet).
Là j'ai du analyser la nature des dégats et
ouf... c'était récupérable.
Scénario
C'était à l'époque des Anciens Dieux.
Les Elfes, les Trolls et les Dragons hantaient quotidiennement les
landes et les forets. Les Magiciens et les Fées luttaient
les uns contre les autres pour règner sur les
hommes.
L'Archemage Iliz étendait alors sa toute puissance sur l'ile
de Connall avec cruauté.
Il l'avait plongé dans les ténèbres
pour punir son roi, Couhoulinn-le-Beau-Cornu.
Celui-ci avait alors réunit ses champions. Nombre
d'entre-eux avaient tentés de pourfendre Iliz.
Mais aucun n'était jamais revenu d'au-delà du Col.
Votre heure venait de sonner...
INFORMATIONS GENERALES
Ce programme 'CONNALL' est livré au domaine public par son
auteur.
En conséquence, il est souhaité une exploitation
non commerciale de ce jeu de role.
Néanmoins, vous pourrez utiliser et modifier les programmes
de cette disquette à votre gré.
PHILIPPE HOUDRY.
Pour jouer...
Téléchargez les deux disques images ci-dessous.
|
ProDOS 8
|
Download Connall side 1
|
|
ProDOS 8
|
Download Connall side 2
|
Vous devrez utiliser plusieurs codes :
<B> Bavarder
<C> Caractéristiques
<D> Descendre
<E> Entrer
<F> Franchir
<J> Jeter
<L> Lire
<M> Monter
<O> Ouvrir
<P> Prendre
<Q> Quitter
<R> Remonter
<S> Sort (lancer un)
<T> Toucher
<U> Utiliser
<V> Voir
<Flèches> pour se déplacer
INFORMATION IMPORTANTE SUR LA SAUVEGARDE D'UN PERSONNAGE
La touche <Q> permet de quitter le jeu uniquement
à partir de l'ile de Connall.
A ce stade, 3 possibilités vous sont offertes :
1°) Quitter vraiment (faire TEXT pour obtenir la page texte)
2°) Reprendre le jeu (faire -/F/JEU sans changer de face)
3°) Sauvegarder votre personnage avant de continuer ou de vous
arreter (changez de face, faites -/F/SAUVE et suivez les instructions).
Ne croyez pas que la pratique de la sauvegarde d'un bon personnage soit
de la triche.
Dans tous les jeux de role qui se pratiquent en de nombreuses heures
(et celui-ci devrait vous occuper plusieurs soirées), c'est
la seule manière de mener votre quete à sa
conclusion.
L'image du dragon a été repompée sur
le master disk de la série des jeux d'aventure EAMON (master
distribué à l'époque en France par
Reseau Planétaire):
Correction du 21/11/2008: il semblerait que ce dragon ait
été pompé (et modifié) par
les auteurs d'Eamon sur
un soft plus ancien intitulé: Higher
Graphics I & II!! (A suivre
peut -être!!)
Bon, ben ça se termine à présent!
Synergistic Software avait
sorti avant (en 1980) un soft
intitulé Odyssey : The
Compleat Adventure
développé par Robert
C. Clardy.
Et ce jeu doit être le point de départ:
A noter par ailleurs que j'avais aussi de mon côté
utilisé ce dragon dans une pré-version du mon jeu
Muryaden 1!!!
Contenu des .dsk
File: Connall_Rebuild_Deckard_f1.dsk
Disk: ProDOS /F (140KB)
Name
Type Auxtyp
Modified
Format Length
------------------------------------------------------------------------------
PRODOS
SYS $2000 17-Aug-84 00:00
ProDOS 14848
*BASIC.SYSTEM
SYS $2000 11-Dec-85 00:00
ProDOS 10240
START
BAS $0801 24-May-87 14:00
ProDOS 1118
*MENU
BAS $0801 20-May-87 14:00
ProDOS 2646
*CREATION
BAS $0801 20-May-87 14:00
ProDOS 2611
*REP
BAS $0801 20-May-87 14:00
ProDOS 387
*PAGE.PRES
BIN $2000 20-May-87 14:00
ProDOS 8192
*SAUVE
BAS $0801 23-Apr-87 19:00
ProDOS 1797
X.X
TXT $0000 24-May-87 14:00
ProDOS 38
*FORGALL
TXT $0000 24-May-87 14:00
ProDOS 92
*GENERALITES.REM
BAS $0801 24-May-87 14:00
ProDOS 4771
DECOMP
BIN $4000 [No
Date]
ProDOS 583
VIF.PIC
BIN $6000 [No
Date]
ProDOS 3441
STARTUP
BAS $0801 [No
Date]
ProDOS 157
------------------------------------------------------------------------------
==============================================================================
File: Connall_Rebuild_Deckard_f2.dsk
Disk: ProDOS /F (140KB)
Name
Type Auxtyp
Modified
Format Length
------------------------------------------------------------------------------
*JEU
BAS $0801 25-May-87 14:00
ProDOS 6138
*COMBAT
BAS $0801 30-May-87 18:00
ProDOS 6077
*ENTRER
BAS $0801 20-May-87 14:00
ProDOS 6074
*COFFRE
BAS $0801 20-May-87 14:00
ProDOS 3272
*UTILISER
BAS $0801 30-May-87 18:00
ProDOS 3038
*DLO
BAS $0801 29-May-87 14:00
ProDOS 2506
*PJ
BAS $0801 20-May-87 14:00
ProDOS 1649
*SID
BAS $0801 31-May-87 14:00
ProDOS 1579
*FR
BAS $0801 20-May-87 14:00
ProDOS 998
*R
BAS $0801 20-May-87 14:00
ProDOS 822
*INTERM
BAS $0801 20-May-87 14:00
ProDOS 48
*TEST
BAS $0801 20-May-87 14:00
ProDOS 14
*CADRE
BIN $2000 20-May-87 14:00
ProDOS 8192
*COMB
BIN $4000 20-May-87 14:00
ProDOS 2026
*PROF
BIN $4000 20-May-87 14:00
ProDOS 1200
*ILE
BIN $4000 20-May-87 14:00
ProDOS 684
CAR
TXT $0000 20-May-87 14:00
ProDOS 147
NIVC
TXT $0000 20-May-87 14:00
ProDOS 4582
*NIVN
TXT $0000 20-May-87 14:00
ProDOS 4594
*NIVW
TXT $0000 20-May-87 14:00
ProDOS 4624
*NIVS
TXT $0000 20-May-87 14:00
ProDOS 4664
*NIVE
TXT $0000 20-May-87 14:00
ProDOS 4577
*NIV1
TXT $0000 20-May-87 14:00
ProDOS 4820
*NIV2
TXT $0000 20-May-87 14:00
ProDOS 4717
*NIV3
TXT $0000 20-May-87 14:00
ProDOS 4680
*NIV4
TXT $0000 20-May-87 14:00
ProDOS 4761
*NIV5
TXT $0000 20-May-87 14:00
ProDOS 4727
*NIV6
TXT $0000 20-May-87 14:00
ProDOS 4725
*NIV7
TXT $0000 20-May-87 14:00
ProDOS 4774
*NIV8
TXT $0000 29-May-87 14:00
ProDOS 4728
*AUG
TXT $0000 20-May-87 14:00
ProDOS 540
*TRA
TXT $0000 20-May-87 14:00
ProDOS 917
*VICTOIRE
BAS $0801 31-May-87 14:00
ProDOS 1498
------------------------------------------------------------------------------
On voit clairement que la boite qui vendait ce soft (tout au moins en
théorie le
cout de la disquette et de la copie elle-même- ceci dit
j'ignore quel prix en était demandé!!!) a
rajouté son logo après.
Et ceux qui ont fait cela n'avaient pas de carte horloge dans leur
machine... (les NO DATE sur la face 1).
Informations techniques sur le jeu
*** ORGANISATION PROGRAMME/MEMOIRE ***
La question ne s'est posée que pour JEU et tous les
programmes
qui y sont chainés (à cause de l'image HGR
à
l'écran).
Dès la 1° ligne du programme, le LOMEM est
fixée à 18000 ou 19000 (donc au-dessus HGR2 /
16384).
Ceci car des shapes (ILE, PROFondeurs ou COMBat) sont
stockées à partir de 16384.
Les variables sont donc "plus hautes" que HGR+Shapes (pas de risque
d'effacement mutuel).
Du coup, il y a plus de place pour le programme.
Il peut ainsi s'étendre sans risque de $800 au
début HGR/8192 (soit 13 secteurs ProDOS ou 6144 bytes).
*** ORGANISATION DE JEU ***
Le LOMEM est d'abord fixé à 18000.
On charge ensuite les shapes en 16384 et CADRE en 8192 (HGR).
On lit ensuite les variables du personnage (CAR) et celles du niveau
courant (soit NIVC, soit NIVW.E.S.N.1à8).
Tous les tableaux avaient été
préalablement
dimensionnés et les variables initialisées (pour
y
accéder plus vite, on les place avant B$(21,10) dans le
tableau
des variables).
On dessine le personnage en X,Y.
On "découpe" B$(J,K) en ABCDHPVT.
Puis c'est l'attente de l'enfoncement d'une touche autorisée
et les conséquences de cette action...
*** LE DEPLACEMENT DU PERSONNAGE ***
Une flèche étant enfoncée, on
incrémente X
et Y comme il se doit (avec valeurs X1 et Y1 de sauvegarde).
On convertit en J et K (Cf JEU) puis on découpe B$(J,K) en
ABCDHPVT. On teste B (0 ou 1).
Si B=0, case interdite (pas de déplacement permis).
Si B=1, on teste A.
Si A<>25, valeur par défaut, il y a
attaque (sauf si A=24 et tirage dé non favorable).
Si A=25, pas d'attaque donc on déplace le
personnage.
On teste alors H
(propriété particulière), P
(piège) et T (message).
*** LES VARIABLES ***
Celles des labyrinthes ont été
évaluées sur plan.
Il s'agit d'un tableau B$(21,10).
Chacune de ces variables est composée de 8 variables
condensées.
B$( = A B C D H P V T.
Il existe bien sur un sous-programme de découpe.
A contient le code d'attaque (type de monstre).
B permet le déplacement (=1) ou l'interdit (=0) et indique
parfois des cases spéciales (=2 ou =3).
C contient la forme des cavernes (couloir, branche, carrefour,...).
D contient les objets des profondeurs ou le paysage de l'ile
(escaliers, pierres, foret, batiment,...).
H contient les particularités des cases (gain points magie,
soins,...).
P contient les pièges.
V contient les textes de "Bavardages".
T contient les messages descriptifs de Connall et des labyrinthes.
CO$=Situe le cadran d'ile (NEWS)
EM=empoisonnement
V=vision
TY=type d'endroit (1-ile, 2-cité, 3-foletière,
4-chateau, 5-Shee, 6-tertre, 7-temple)
TP=temps écoulé
Le personnage est défini dans 2 tableaux : P$(14) et P(14).
On y trouve :
P$( -> 0-Nom, 1/8-Objets portés, 9-Armure, 10-Arme,
11-O.U., 12-Divers, 13-Compteur vies (3 max), 14-Etat
P( -> 0-PF, 1-PFM, 2-PM, 3-PC, 4-OR, 5-IP, 6-Dés
arme, 7-Faces dés, 8-Exp, 9-Est., 10-Clac., 11/14- Divers.
Les monstres sont définis dans le tableau E(8) : ->
0-PF,
1-PC, 2-IP, 3-Dés arme, 4-Faces dés, 5-Exp.,
6/7-Divers,
8-Type (0/22).
A= -> 0-Aléatoire (6/18)
1-Miawe Carnine
2-Povre
Hère
3-Rat
4-Elfe
Dépravé
5-Leu Salvage
6-Squelette
7-Brigand
8-Brohon
9- Orcq
10-Chevalier
Félon
11-Troll
12-Serpent
13-Egle Jaiant
14-Guivre
15-Empuse
16-Ogre
17-Hydre
18-Farfadet
19-Draco
20-Déée
21-Spectre
22-Iliz
24-Aléatoire (selon dé: attaque ou non).
PF=(INT(TP/20000)+1)*TY*A*(N+1)*AL 1-10 <1 à
25000>
PC=(INT(TP/20000)+1)*TY*(N+A+AL 1-20) <3 à 500>
IP=INT(TP/10000)+N+1+AL 0-A <1-30>
Dés=INT(TP/10000)+N+TY+INT(A/2)+AL 1-6 <1
à 30>
Faces=INT(TP/10000)+TY+N+INT(A/1.5)+AL 0-20 <1 à
60>
Exp=INT((A*(N+TY)*AL 1-6) / (INT(TP/20000)+1) )
Les lieux:
La Cité Cruachan Ai.
Une foletière.
Un tertre.
Le Fiacha Shee.
Un Chateau.
Le Temple d'Iliz.
Les Monts de Connall.
La Mer Circulaire.
La Sombre Foret de Connall.
En chemin...:
Un escalier qui monte.
Un escalier qui descend.
Un coffre.
Une esterminale.
Un télagon.
Une safre.
Une esmeralde.
Un jacint.
Une inscription murale.
Un bassin.
Une échope.
Un chateau.
La chapelle des songes.
Un aventurier.
Les portes de Cruachan Ai.
Les dalles de Cruachan Ai.
La Coene Draco
Taillefer.
L'Adamantine.
Une Fée.
Le Roi Fiacha.
ILIZ !
#LICIATOS
#ANNCOBUETH
#BIONTU
#VERONADAS
#MAPONOS
#NESINCORS
#NESOMUN
#TAN TIXINTOR
#UO UTANIT
Jeteur de sort
Que tu sois proche !
Qu'ils frappent !
Ensorcelées
Nom d'un dieu guérisseur
Ne soit pas fermé !
Qu'il ne soit pas crainte !
Qu'il soit marqué par le feu !
Entièrement dessous
Plus dure que le diamant
Griffe
Eau
Cimetière
Exclamation de joie
Empoisonné
Coutelas-sabre
Hache d'arme
Pierre à venin
Ours
Exclamation de dépit
Cuirasse
Clé
Peau
Cotte d'arme
Pique
Breuvage magique
Féée
Epée à deux mains
Encre
Vampire
Pierre précieuse
Envoutée
Faux d'arme
Lieu hanté par les farfadets
Plus fort
Lance-massue
Gourdin
Mage
Guérir
Mouette
Jamais
Pierre précieuse
Saphir
*** ARMES, ARMURES ET OBJETS ***
Il y a plusieurs armes classiques et 2 magiques (qui tapent
très fort !).
Elles peuvent etre améliorées en cours de quete.
Il existe plusieurs armures dont 2 magiques. Leur indice de protection
peut etre augmenté au cours de la quete.
Il existe de très nombreux objets aux pouvoirs
très divers.
Adamantine
Aigue Médir
Ambre Jaune
Arc
Archant Erb
Arteil Draco
Badelaire
Baton d'if
Besague
Bezar
Bon Elissir
Braies
Broigne
Cegue
Chalt Aigue
Champegnel
Claciele
Coene Draco
Cofret
Corme Verte
Coterel
Cuiriée
Dart
DéaltéChance
Enque Faée
Espafut
Fauchon
Godendart
Haubert
Jame de Vie
Lignas
Loques
Oeil-Tan
Rubi Force
Rune-Mague
Sanc Draco
Taillefer
Torcheis
Torque Faé
*** CODES DE A / C / D ***
Pour A, voir VARIABLES/Monstres.
C <0 à 14>
D <15 à 38>
H <0 à 6>
P <0 à 6>
V <0 à 7>
T <0 à 7>
*** IMPRESSION ***
Pour imprimer un programme basic (par exemple sur Imagewriter), ajouter
les lignes suivantes au début du programme
concerné.
1 PRINT CHR$(4)"PR#1":LIST
2 PRINT CHR$(4)"PR#0":END
Assurez-vous quand meme que votre imprimante est sous tension...
*** PAR PHILIPPE HOUDRY, "CONNALL", 1987 ***
Quelques infos sur la remise en état des .dsk
FASTDSK donne la liste des
couples piste/secteur en erreur.
A partir de là, il faut aller voir à quoi cela
correspond sur la disquette (fichiers ou structures ou secteurs
inutilisés).
Quelques rappels utiles pour passer de la notion de block ProDOS en
track/secteur DOS (logique) utilisé par les outils
d'éditeur de secteurs comme COPY
II+ 5.x:
1) Block ProDOS => track et les
secteurs
de debut et fin
Pour faire simple:
track = block/8 (ne pas tenir compte des decimales)
offset = block - (track*8) => donne un résultat dans
la fourchette [0..7]
sector debut = valeur offset table low
offset table low : 0 1 2 3 4 5 6 7
valeur : 0 D 3 9 7 5 3 1
sector fin = valeur offset table high
offset table high : 0 1 2 3 4 5 6 7
valeur : E C A 8 6 4 2 F
Exemple: pour avoir les 2 T/S du block 21
track = 21/8 = 2
offset = 21 - 2*8 = 5
secteur debut = $05
secteur fin = $04
Donc T$02 S$05 et T$02 S$04
2) T/S => numero Block et flag 0=Debut (lower half) 1=Fin (upper
half)
block = (track*8) + offset a partir du sector
Sector : 0 1 2 3 4 5 6 7 8 9 A B C D E F
Sector Offset : 0 7 6 6 5 5 4
4 3 3 2 2 1 1 0 7
flag = valeur 0/1 a partir du sector
Sector : 0 1 2 3 4 5 6 7 8 9 A B C D E F
Flag : 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1
Depuis l'Apple II, il faut créer plusieurs images des
mêmes faces en erreur pour faire
des comparaisons ultérieures avec FAST.COMPARE
afin de
reconstruire le puzzle en fonction de ce qui semble le plus valable.
La panoplie nécessaire (non exhaustive) de
l'archéologue des
disquettes pour un soft sous ProDOS est la suivante:
COPY II+ sous ProDOS (avec le
mapping toujours en T/S, ce que ne fait
plus les
dernières versions). J'ai utilisé la version 6.6
présente sur le FBOOT 2.0
de Chip Select.
COPY II+ sous DOS. J'ai
utilisé la version 5.5 du pack de
copieurs d'ACS (Apocalyptic Cracking Squadron side 1).
Le livre Beneath Apple ProDOS
(infos volume bit map, structures ProDOS,
key block list, ...) ou un scan de cet ouvrage (cela existe sur le web
- c'est avec
ça que je bosse souvent).
FAST.COMPARE de Sam.
BLOCK.WARDEN (et
éventuellement MR.FIXIT)
du pack ProSEL
de Glen Bredon pour
examiner la
structure des
disquettes sous ProDOS.
CiderPress pour voir si les
programmes BASIC sont propres. Idem pour
les images et les fichiers TXT.
Une disquette 5,25" compte 280 blocks:
ProDOS
Block T/S logique (Copy II+) Content
------- ----------------------- ----------------------------
0 T$00 S$00
& T$00 S$0E Loader
1 T$00 S$0D
& T$00 S$0C Loader
2 T$00 S$0B
& T$00 S$0A Catalog (key block)
3 T$00 S$09
& T$00 S$08 Catalog
4 T$00 S$07
& T$00 S$06 Catalog
5 T$00 S$05
& T$00 S$04 Catalog
6 T$00 S$03
& T$00 S$02 Volume Bit Map
7 T$00 S$01
& T$00 S$0F File...
8 T$01 S$00
& T$01 S$0E File...
...
279
Les réparations (sommaires) effectuées:
Face 1:
Resolution des bad blocks en remettant une version propre
de PRODOS et BASIC.SYSTEM depuis un disque clean.
Face 2:
Comparaison 2A/2B
T$00 S$02 => force que des zeros (2nde partie block: VBM not
used)
T$00 S$05 => force que des zeros sauf byte $00=$04 (catalog deja
fini avant: en block 4)
ENTRER: block $21 (33) a $2D (45)
T$04 S$0A => high block $22 (34) = high key block ptr fichier
ENTREE => que des zeros
T$04 S$0F => high block $27 (39) : fichier ENTREE : octets
$F2/$F3 valeurs $37/$32 ou $B7/$B2
=> valeurs ok -> $37/$32 pour GOTO 1725
Comparaison 2A/2C
T$07 S$0F => high block $3F (63) : Fichier DLO. Bad block sur 2C
(fichier BAS verole)
Mapping des objets ProDOS avec Copy II+
(visu en T/S et pas en block):
Localisation du key block pointer et examen de la liste des
blocks (low) avec BLOCK.WARDEN: