
|
_____________________________________________________________________________
!
____________
!
!
CRACK-WARE
A Warner BRAIN TRUST Production ( 1/10/89) !
!_____________________________________________________________________________!
Et nous voilà reparti pour vous pondre une nouvelle
introduction (mais cette
fois-ci, plus à la manière mégaloesque de
Cool-Ware 2!), une introduction très
importante et rédigée avec le plus grand sérieux
(y'en a déjà (ceux qui nous
connaissent particulièrement!) qui pouffent derrière leur
moniteur, et qui se
disent : c'est pas vrai, ils blaguent encore!!!). Et bien, ce coup-ci,
on sera
sérieux car c'est la dernière fois que vous nous lirez.
Peut-etre qu'un jour,
vous aurez la chance de nous voir sur une chaine de
télévision, qui sait!!!
Vous avez pu lire sur la première page de
présentation : LAST TBT'SOFTWARE!
Et bien c'est VRAI! CRACK-WARE (facilement 8 mois de travail) signe la
fin des
activités du BRAIN TRUST sur APPLE 2 SERIES, c'est-à-dire
II, II+, II europlus,
IIe, //c, IIe kit 65C02, Franklin, Laser, sauf le IIGS (cette
dernière version
où nous n'avons rien fait, à part du swaping) et le IIc+.
Cela signifie donc :
arret des cracks, arret du BLACK CHEST, arret du swaping hors France,
arret
des fixed games, arret des products, plus de freewares BRAIN TRUST...
Mais POURQUOI, vous dites vous?
Et bien nous avons plusieurs raisons, et pour
évitez d'avoir notre bal Rtel
et Chez* saturée de questions et demandes, vous allons en
expliquer 2.
Commencons par la seconde, si vous le voulez bien!
2 = Chaque individu dans sa vie change et a besoin
d'évoluer, pour cela il
faut qu'il modifie pas mal de choses pour y arriver. Ici, seuls sont
concerner
les 3 premiers membres à savoir COPPERFIELD, LOOCKHEED et THE
JOKERSOFT qui
désirent maintenant travailler pour leurs études (toutes
scientifiques). Nous
avons tous les trois presque une vingtaine d'années et c'est un
moment
décisif en ce qui concernent les examens et les concours
(CAPTAIN CRACK est
parti du Brain Trust car il faisait une haute école de commerce).
OLIVER TWIST rentre aussi un peu dans le cas des trois premiers membres
du
Brain Trust, mais lui, ne peut se passer de cette "drogue"!
Pour ce qui est du cas de PATCHMAN, c'est un adulte totalement
responsable,
mais l'Atari ST le passionant plus de nos jours que l'Apple, il va
rentrer dans
un groupe de déplombeurs ST et voler vers de nouveaux horizons...
1 = Et c'est la raison la plus forte et la plus dure a
avoué :
L'APPLE 2 EST TOTALEMENT MORT EN FRANCE!!!
Plus de ventes d'originaux dans les boites, plus de la place aux Apple
à la
série 2 dans les entreprises (place aux Mac!), et c'est la seule
machine où
l'on trouve plus de freewares que de logiciels commerciaux... et cette
"mort"
remonte a presque qu'une année. Nous en sommes conscient depuis
très longtemps,
mais nous avons toujours défendu notre chère machine : 11
ans d'existence,
machine-"mère" du cracking dans les ordinateurs familiaux
(n'oubliez quand meme
pas Aldo Reset et Laurent Rueil du CCB).
Sur Apple 2 series, il reste derrière nous, 9
groupes et 1 cracker :
GODFATHER (alone!)
$FF59 CONNECTION : Perfect Bugs + Sputnik + Tetard + The Last Jedi
DOX A GAZ'S TEAM : Max A Gaz + Conan + Dunn Hatani + GJP 93 + Iron Fist
+ Le Gobelin Hargneux + Thor + William Comte
HACKERFORCE : Crazy Boy + Max Headroom + Sharp + The Monz + The White
Man
LYON'S GANG : Ap II + Arn + Béru + Hervé + Pierrot + Rat
+ The Wargamer
MVGANG : Coca + MvCamillo => réseau de distribution
RAMBO PIRAT CRACK BAND (RPCB) : Eddie Hawk (Crocky Disk) + Kainzow
+ The Cougar (Bloady)
THE WARRIORS OF DESTINY : Deckard + Eddie Hawk + The Newsrunner
VISUAL EYES : The Kid + Rat
WORLD OPERATION FOR PIRATING REVOLUTION (WOPR) : Brian Moebius +
Gandalf-Apple
+ The Kid
Ces groupes ne produisent que des freewares (recueils de
docs, de musics,
d'images, etc...) mais n'apportent pas de softs (jeux d'arcades,
utilitaires,
etc...) dans notre métropole... Seule une seule personne est
à la hauteur et
la prouver pendant longtemps (il faut quand meme l'avouer, meme si ce
fut notre
plus grand ennemi!!!), mais sans motivation et temps, on ne va pas
loin. Nous
irons meme jusqu'à penser que Godfather fera encore des cours
sur son vieux
//c en l'an 2000, cours qu'il vendra à son père et
à sa mère (Cours 78 :
Comment allumer votre Apple 2 rapidement, en 5 leçons (sources
fournis!))? Mais
nous comptons sur deux groupes pour prendre la relève, et ils
savent que leur
tache est grande s'ils veulent l'assumer pleinement...
De nombreux crackers célèbres ont pris
conscience de tout cela et sont
partis, déjà depuis bien longtemps, et ont reformé
leur patrimoine sur une
autre machine, après parfois une période sabatique. On
retrouve ainsi Chip
Select et Goldpom et Mister Z qui forment le GS Alliance, ACS-Dijon qui
sont
aussi partis sur GS, et on ne vous parlent meme pas de ceux qui sont
partis
sur une machine autre qu'Apple, comme l'Atari ou l'Amiga : Tsunoo,
voire meme
notre cher Patchman, sans vous parlez de ceux qui ont changé de
pseudo, mais
qui sont toujours en activité sur une autre bécane!!!
Chut... Top Secret...
Et pour tout cela, nous vous annonçont que nous
reviendra au cracking.
Mais dans combien de temps?
sur quelle machine?
avec quels pseudos?
Nous pouvons déjà vous dire que l'on a
entendu des rumeurs, comme quoi on
passerait tout de suite sur GS, c'est intéressant à
savoir, car nous n'étions
meme pas au courant!!!!!!!!! Pourquoi pas sur Atari ST ou STE ou sur
Amiga ou
sur Archimede???
Nous tenons à remercier pas mal de personnes sur
Apple 2, sans lesquelles
nous ne serions pas grand chose : Rodnay Zaks, Michael W., Glen Bredon,
Paul
Lutus, Roger Wagner, R.J Lissner, Kevin Harver & Alex Perelberg,
David Snider,
Roland Gustafsson, sans oublier Steve Wozniak & Steve Jobs!!! et
aussi quelques
sociétés : Central Point Software Inc., Alpha Logic
Business Systems, Inc., et
bien sur Apple Computer, Inc.
Parlons maintenant un peu de la présentation de
Crack-Ware! C'est la plus
sobre de toute l'histoire du Brain Trust : pas de boules qui bougent,
pas de
plaques qui tournent, pas de lignes qui se déplacent, pas de
logo qui
oscillent, pas de smooth scroll, etc... rien que des images DHGR
à la manière
d'un slideshow qui serait une bibliographie du Brain Trust!
La première image (la présentation) vous
souhaite une belle mort sur votre
Apple 2 sur une musique qui ressemble à celle de Santa Barbara.
La seconde (le barbare) est le Golden Big Shit que devait
se payer qui vous
savez depuis bien longtemps en réponse à Dep ME 9, ceci
sur une musique qui
introduit l'arrivée de Dark Vador dans Star Wars.
La troisième (de Cassus Beli) est la réponse
du Brain Trust à une certaine
série de cours illicites de déplombage, ceci sur une
marche funèbre.
La quatrième (l'Infernoid!) signe la fin des
activités du Brain Trust sur
Apple 2 series : Game Over à la façon d'un jeu d'arcade
comme un casse-briques,
sur une musique qui ressemble à celle du jeu d'aventures :
Hawaii, intitulée :
Flash into the bay.
La cinquième (le dragon) est une transcription
d'une image Atari ST sur
Apple 2 par Patchman, toujours sur une zizique de Max A Gaz. L'image
pert un
peu de sa beauté à cause de la résolution (640*200
pour le ST contre 560*192
pour l'Apple 2!) et du manque de couleurs... Brain Trust Division ST!!!
Les remerciements pour cette présentation vont
à :
- Compresseur/décompresseur DHGR : Deny (ACS),
- Scrolling DHGR : Oliver Twist,
- Digitalisations : Loockheed, Oliver Twist, Colonel Klink,
- Excel-Transcription ST->Apple 2 : Patchman,
- Design and Handmade pictures : The Jokersoft,
- Electric Duet's musiques : Max A Gaz (ouille!),
- Excel-Boot v2.7 : Patchman,
- Compteur boot+serial (Kilaibo) : Oliver Twist
- Réalisation : The Jokersoft (pas de codage, pas de checksum,
juste compressé,
319 secteurs de présentation!!!)
La présentation dure 8'46" dans son
intégralité et 46" en appuyant toujours
sur une touche, ceci est très long et pour palier à tout
cela nous avons
rajouter une option qui permet de passer cette démo : appuyez
sur la touche Q
dès le boot, et vous accèderez tout de suite à
l'excel-menu (en 5"!).
Un tout nouveau menu (car c'est la folie en ce moment sur
Apple!). La partie
graphique étant réalisée par The Jokersoft et
celle du "Reader Text" par
Patchman sous son Excel-Read v6.1. Ce menu permet de charger des
fichiers Text
jusqu'à 128 secteurs en moins de 4 secondes!!! Pour lire les
textes, utilisez
le joystick : de haut en bas, déplacement par page et de gauche
à droite,
déplacement par ligne. Appuyez sur la touche H pour Help.
Ce menu n'est pas assorti de la musique la plus
célèbre de ces 18 derniers
mois : RAD WARRIOR : L'HYMNE DU BRAIN TRUST. Elle fut extraite, avec du
mal,
par Captain Crack, Oliver Twist en a fait un source, Loockheed sait la
jouer au
piano, on n'a meme mis les notes à l'envers : un Rad Warrior en
verlan!!!
Et vous auriez pu l'entendre pour la 22ième fois au début
de ce menu (essayez
quand meme la touche DELETE au menu du TBT'S COPY DISK et de booter la
deuxième
face de Crack-WARE! Non, c'est pas vrai, ils l'ont encore fait!!!)
Nous allons meme vous donné une auto-critique de
notre excel-menu appelé :
"EXCEL-READOC + EXCEL-BROWSER" : (ATTENTION : EXCEL (tm)
Patchman.)
- Il est en HGR, alors qu'on aurait pu le faire en DHGR
(cf. Art Of Noise),
- Pas d'option imprimante, car cela nous faisait ch... de
la programmer
(utiliser Apple Writer //) pourtant une
hardcopy de la mémoire, c'est pas
compliquée,
- Si vous voulez relire un fichier, que vous venez de lire
en dernier lieu,
il est inutile de le recharger puisqu'il est
en mémoire, il suffit juste
de le réafficher (option
programmée mais pas gérée!)
- Pas de message d'erreur en cas de non présence du
fichier sur le disk,
mais la lecture étant tellement rapide,
vous comprendrez aisément que le
fichier sélectionné
n'était pas sur la face.
ALORS MAINTENANT, BONNE LECTURE AVEC CRACK-WARE ET
SURTOUT BONNE CHANCE SI VOUS RESTEZ SUR APPLE 2...
NOUS ESPERONS NOUS TROMPER EN CE QUI CONCERNE L'AVENIR DE L'APPLE
EN FRANCE...
_INTRODUCTION_CRACK-WARE___________________________________________________TBT_

|
Fboot & DOS 3.3
|
Download Crackware side 1 (gzipped)
|

|
DOS 3.3
|
Download Crackware side 2 (gzipped)
|

|
DOS 3.3
|
Download Crackware side 3 (gzipped)
|
Sommaire
Lien |
Article |
Auteur fichier |
 |
Appendix Brain Trust. |
The Brain Trust. |
 |
En direct des States. |
The Jokersoft. |
 |
Destroy the products. |
The Jokersoft, Copperfield et Oliver Twist. |
 |
Such a shame. |
The Brain Trust. |
 |
Pourquoi tant de ...?. |
The Brain Trust. |
 |
Source boot 0. |
Copperfield. |
 |
EPYX's cookbook. |
The Jokersoft. |
 |
Arkanoid. |
The Jokersoft. |
 |
Art of war at sea. |
Loockheed. |
 |
Bad Dudes. |
The Jokersoft. |
 |
Bubble Bobble. |
The Jokersoft. |
 |
Crossbow. |
The Jokersoft. |
 |
Dive Bomber. |
The Jokersoft. |
 |
Dondra. |
The Jokersoft. |
 |
Force 7. |
The Jokersoft. |
 |
Impossible mission 2. |
The Jokersoft. |
 |
Jaws. |
The Jokersoft. |
 |
L.A. Crackdown. |
The Jokersoft. |
 |
Might and Magic II. |
The Jokersoft et Oliver Twist. |
 |
Neuromancer (1). |
Loockheed. |
 |
Neuromancer (2). |
Loockheed. |
 |
Neuromancer (3). |
Loockheed. |
 |
Platoon. |
The Jokersoft. |
 |
Pool of Radiance. |
William Comte. |
 |
Rampage. |
Copperfield. |
 |
Roger Rabbit. |
The Jokersoft. |
 |
Street Sports Basketball. |
The Jokersoft. |
 |
Street Sports Football. |
The Jokersoft. |
 |
Street Sports Soccer. |
The Jokersoft. |
 |
Spiderbot. |
The Jokersoft. |
 |
Spy vs Spy 3. |
The Jokersoft. |
 |
Star Rank Boxing 2. |
The Jokersoft. |
 |
The games : Summer Edition. |
The Jokersoft. |
 |
Tangled Tales (1). |
Loockheed. |
 |
Tangled Tales (2). |
Loockheed. |
 |
Tangled Tales (3). |
Loockheed. |
 |
Technocop. |
The Jokersoft. |
 |
Tetris. |
Loockheed et The Jokersoft. |
 |
Test Drive. |
Copperfield. |
 |
The Last Ninja. |
The Jokersoft. |
 |
Thexder. |
The Jokersoft. |
 |
Tomahawk. |
The Jokersoft. |
 |
Victory Road. |
Loockheed et The Jokersoft. |
 |
The Games : Winter Edition. |
The Jokersoft. |
 |
Auto-interview d'Oliver Twist. |
Oliver Twist. |
 |
Lettre ouverte de The Jokersoft. |
The Jokersoft. |

|
Appendix Brain Trust.
_____________________________________________________________________________
!
!
!
CRACK-WARE
APPENDIX BRAIN TRUST (1/10/89) !
!_____________________________________________________________________________!
> CRACKED BY THE BRAIN TRUST
DAZZLE
DRAW
85
BRODERBUND
/ 4/88
STRIKE
FLEET
87
EOA
/ 5/88
MULTISCRIBE 3.0
2C
87
STYLEWARE
/ 6/88
FORCE
SEVEN
87
DATASOFT
/ 6/88
L.A.
CRACKDOWN
88
EPYX
29/ 7/88
DIVE
BOMBER
88 ACME
ANIMATION
24/ 9/88
RAMPAGE
88
ACTIVISION
25/10/88
THE LAST
NINJA
88
ACTIVISION
/11/88
PLATOON
88 DATA
EAST
7/12/88
TIMES OF
LORE
88 ORIGIN
SYSTEMS
/12/88
ARKANOID
88
TAITO
18/12/88
SUMMER
EDITION
88
EPYX
18/12/88
NEUROMANCER
88
INTERPLAY
/12/88
WHO FRAMED ROGER RABBIT? 88
BUENA
VISTA
/12/88
IMPOSSIBLE MISSION
2 88
EPYX /
FACS
27/12/88
STAR RANK BOXING
2
88
GAMESTAR
31/12/88
WINTER
EDITION
88
EPYX
17/ 1/89
MIGHT AND MAGIC
2
88 NEW WORLD
COMPUTING 18/ 1/89
WIZARDRY
5
88 SIR
TECH
24/ 1/89
THE ANCIEN ART OF WAR AT SEA 88
BRODERBUND
1/ 2/89
BAD
DUDES
88 DATA
EAST
18/ 3/89
TETRIS 64
Ko
88 ACADEMY
SOFT
/ 4/89
STREET SPORTS
FOOTBALL 88
EPYX
14/ 5/89
KING'S QUEST
4
89 SIERRA
ON-LINE
14/ 5/89
TECHNOCOP
88 GRAY
MATTER
/ 5/89
TANGLED
TALES
89 ORIGIN
SYSTEMS
23/ 6/89
SPIDERBOT
88 EPYX /
FACS
28/ 7/89
> FIXED GAME BY THE BRAIN TRUST
KID
NIKI
87 DATA
EAST
/ 4/88
INTO THE EAGLE'S
NEST 87
MINDSCAPE
/ 5/88
FORCE
7.2
87
DATASOFT
/ 6/88
PIRATES!
87
MICROPROSE
/ 8/88
VIPER PATROL/ROD'S REVENGE 88
ROD
/11/88
RAD
WARRIOR
87
EPYX
/12/88
ARKANOID
88
TAITO
18/12/88
VICTORY
ROAD
88 DATA
EAST
17/ 2/89
BAD
DUDES
88 DATA
EAST
9/ 4/89
THEXDER
89 SIERRA
ON-LINE
4/ 7/89
> DISTRIBUTED BY THE BRAIN TRUST
MURDER ON THE
ATLANTIC 88
INTRACORP
/10/88
SKY
TRAVEL
88
DELTRON
/10/88
STAR
TREK
88
PARAMOUNT
/12/88
POLICE
QUEST
88 SIERRA
ON-LINE
18/12/88
MIXED-UP MOTHER
GOOSE 88
SIERRA
ON-LINE
23/12/88
THE HUNT FOR RED OCTOBER 88
DATASOFT
13/ 3/89
POOL OF
RADIANCE
89
S.S.I.
4/ 5/89
COPY II+ 8.3 (DEBUGGED VERS.) 89 CENTRAL POINT
SOFTWARE / 5/89
SHOGUN
89
INFOCOM
19/ 7/89
> HONG-KONG IMPORTS BY TBT
B-24
87
S.S.I.
31/ 1/89
BISMARCK
87
DATASOFT
31/ 1/89
FINGERSPELLER
88 A.TOLU HONARY D.I.T.
31/ 1/89
THE BUSINESS ACCOUNTANT
86 MANZANITA SOFTWARE SYSTEMS 31/ 1/89
WELCOME
86 ABRACADATA
LTD.
31/ 1/89
HEATH MATH
WORLD
87 D.C. HEATH AND COMPANY 21/ 2/89
MEMORY BUILDING
BLOCK 86
SUNBURST
21/ 2/89
OUR TOWN
MEETING
87 TOM SNYDER PRODUCTIONS INC. 21/ 2/89
THE ENCHANTED
FORECAST 86
SUNBURST
21/ 2/89
THE LIMA BEAN
DREAM
87 LEARNINGWAYS
INC.
21/ 2/89
> CALIFORNIA IMPORTS BY TBT
TETRIS 64Ko (CTC Version) 88
ACADEMY
SOFT
21/ 2/89
THE MARKET
PLACE
84
M.E.C.C.
21/ 2/89
> CANADIAN IMPORTS BY TBT
JOKER
POKER
88 JOKER
SOFTWARE
11/ 2/89
RISK
88 JOKER
SOFTWARE
11/ 2/89
BATTLES OF
NAPOLEON
88
S.S.I.
11/ 2/89
WRITING PUBLISHING
CENTER
11/ 2/89
SLIDESHOP
11/ 2/89
STREET SPORTS
SOCCER
88
EPYX
11/ 2/89
THE CHESSMASTER
2100
88 SOFTWARE
TOOLWORKS
11/ 2/89
TYPHOON OF
STEEL
88
S.S.I.
11/ 2/89
VICTORY
ROAD
88 DATA
EAST
11/ 2/89
> THE BRAIN TRUST'S PRODUCTS
COOL-WARE
1
88 THE BRAIN
TRUST
13/ 7/88
ART OF NOISE
1
88 THE BRAIN
TRUST
1/ 8/88
THE JOKERSOFT'S CRACKING DISK 88 THE
JOKERSOFT
3/ 8/88
STARFIX
6
88 THE BRAIN
TRUST
1/10/88
LOOCKHEED'S GRAPHICS LIBRARY 1 88 LOOCKHEED
(SECRET)
NOV. 88
COMMENT FAIRE UN
FIX? 88 THE
JOKERSOFT (COURS) NOV.
88
COOL-WARE
2
89 THE BRAIN
TRUST
7/ 1/89
COOL-WARE 2
UTILITIES
89 THE BRAIN
TRUST
17/ 2/89
HARDCORE
1
89 THE BRAIN
TRUST
3/ 3/89
HARDCORE
2
89 THE BRAIN
TRUST
3/ 3/89
MEGALO'S DIGITAL SLIDE SHOW 1 89 THE BRAIN
TRUST
10/ 3/89
ANIMATIONS SHOW
DISK
89 THE BRAIN
TRUST
4/ 4/89
EXCEL-DISPLAYER DHGR (from ST) 89 PATCHMAN
(SECRET)
AVRIL 89
SLIDE SHOW DHGR_INFERNOID 89 THE
JOKERSOFT (SECRET) JUIN 89
SOURCES MERLIN TBT VOL.1 89
THE BRAIN TRUST (SECRET) SEPT. 89
SOURCES MERLIN TBT VOL.2 89
THE BRAIN TRUST (SECRET) SEPT. 89
SOURCES MERLIN TBT VOL.3 89
THE BRAIN TRUST (SECRET) SEPT. 89
SOURCES MERLIN TBT VOL.4 89
THE BRAIN TRUST (SECRET) SEPT. 89
HARDCORE
3
89 THE BRAIN
TRUST
17/ 9/89
KEYBOARDS BY THE JOKERSOFT 89 THE
JOKERSOFT
18/ 9/89
FRACTAL-WARE
89 $FF59 CONNECT./BRAIN TRUST 30/ 9/89
THE BRAIN TRUST'S COPY DISK 89 89 THE BRAIN
TRUST
30/ 9/89
CRACK-WARE
89 THE BRAIN
TRUST
1/10/89
LOOCKHEED'S ANIMS SHOW DISK 89
LOOCKHEED
PREVIEW!
PLUS
#5
89
PATCHMAN
PREVIEW!
REM : Les products annotées (SECRET) non jamais
été distribuées et sont restées
au sein des membres du Brain Trust.
_APPENDIX_BRAIN_TRUST______________________________________________________TBT_
Retour sommaire
En direct des States.
____________________________________________________________________________
!
!
! EN DIRECT DES STATES written for
CRACK-WARE by THE
JOKERSOFT !
!_ _ _ _
_
_ _ _
_ _
________ _!
!_NEWS_US_IIe/IIc_(_ENTERTAINMENT_+_EDUCATIONAL_+_UTILITIES_)________1/10/89_!
- Bad Street Brawler (Mindscape)
- Blackjack Academy (Activision)
- Chickamunga (SSI)
- Computer Statis Pro Baseball (Avalon Hill)
- Crosscheck (Datasoft)
- Crosscheck Data Disks (Datasoft)
- Cyber Cop (PSI)
- Deflexor (Epyx) => On attend toujours!
- Déjà Vu (Mindscape)
- Diversy Tune (Diversy Software Research)
- Earl Weaver Baseball (EOA)
- Final Assault (Epyx) => Bivouac de chez Infogram!
- Firepower (Activision)
- First Over Germany (SSI)
- Full Count Baseball (Lance Haffner Games)
- Gold Rush (Sierra On Line)
- Homecourt (Origin Systems)
- HomeWord Plus (Sierra On Line) => not protected!
- Home Video Producer (Epyx)
- Howard the Duck (Activision)
- It's Only Rock and Roll or Hot and Cool Jazz (EOA)
- Jinxter (Rainbird) => en text!
- Knight Orc (Level 9 Computing)
- Madden Football (EOA)
- Manhunter (Sierra On Line)
- Mind Mirror (EOA)
- Multima (Origin Systems) => Ultima par modem!
- Omnicron Conspiracy (Epyx)
- Periscope (Action Software)
- Qix (Taito)
- R.S.V.P. (BlueLion Software)
- Sak MacKraken (Lucasfilm)
- Scruples (EOA)
- Smart Money (Sierra On Line)
- Space Rogue (Origin Systems)
- Sporting News Baseball (Epyx)
- Statmanager (Software Simulations)
- Sticker Maker (Epyx)
- Street Cats (US Gold)
- Super Cycle (Epyx) =>On attend toujours!
- Superstar Soccer (Mindscape)
- Tank Battle Simulator (Epyx)
- Target Renegade (Taito)
- The Alien Mindbenders (Lucasfilm)
- The Legend Of Blacksilver (Epyx)
- The Sporting News Baseball (Epyx)
- The Usurper (Sir-Tech)
- Ticket to London, Paris, Spain (BlueLion Sotware)
- Ticket to Washington D.C. (BlueLion Software)
- Tower Toppler (US Gold/Epyx)
- Ultima 6 (Origin Systems)
- Uridium (Mindscape) => a été rétiré
des listes US!
- VCR Workshop (Epyx)
- Video Title Shop Graphics Companion (Datasoft)
Existant ou à venir sur d'autres machines :
- Arkanoid 2 : "Revenge Of Doh" (Taito)
- Barbarian 2 (Palace Software)
- Déja vu 2
- Gauntlet 2 (US Gold)
- Leisure Suit Larry 2 : "Looking For Love (In Several Wrong Places)"
(Sierra On Line)
- Police Quest 2 : "The Vengeance!" (Sierra On Line)
- Sceneries Test Drive : California Challenge + SuperCars (Accolade)
- Space Quest 3 : "The Pirates Of Pestulon" (Sierra On Line)
- Starfleet 2 : "Krellan Commander"
- Starglider 2 (Rainbird)
- Test Drive 2 : The Duel (Accolade)
- The Last Ninja 2 (Systems 3/Activision)
- Where in time is Carmen Sandiego? (Broderbund)
_EN_DIRECT_DES_STATES____________________________________________THE_JOKERSOFT_
Retour sommaire
Destroy the products.
_____________________________________________________________________________
!
!
! DESTROY THE PRODUCTS by THE JOKERSOFT (always!), COPPERFIELD &
OLIVER TWIST !
!_____________________________________________________________________________!
Encore une nouvelle rubrique dans Crack-Ware avec un titre
peut-etre peu
évocateur pour vous, mais qui veux en dire long lorsque l'on
sait ce qu'il
signifie; nous vous donnons tout bonnement des parametres (comme pour
les fixx)
qui permette de modifier les productions nationales. Là pas mal
de monde qui
entre dans le circuit des free-wares Apple se sent viser et nous
croyons qu'il
va y avoir des crissements de dents. Mais bon, let's go, sans haine, ni
violence, ni rancune...
- DEP ME 9 (C) GDF+ACS+TBT
Le dernier volet de cette saga du déplombage a le
boot le plus dégueulasse
qui puisse exister : existences de JMP inutiles, utilisations de JSR
qui ne
vont que vers des RTS, présences incommensurables de NOP. C'est
nul à chier et
c'est lent, 30 sec. pour accèder au menu en appuyant tout le
temps sur la space
bar. Alors nous vous proposons de sauter cette présentation :
P$0/0.41 : 00 A2
P$0/2.43 : EA EA EA
Temps de chargement : 4 sec => sans commentaire !
- THUNDERDOCS (C) EDDIE HAWK and Co.
Alors, on vous explique comment mettre à 0001 votre
numéro de sérial et vous
prendre pour Eddie Hawk qui boote son free-ware de docs. Ce
numéro de sérial
(qui ne sert vraiment à rien, la preuve, il y en a un à
Crack-Ware!!!) est en
P$10/F.00:XX XX. Et sur ce meme secteur, vous pourrez lire un petit
message
de ce cher ex-Crocky Disk.
Bon, pour ce qui est des codages des phrases text au boot,
je dévoile tout :
ligne THUNDERDOCS etc...
P$0/0.2 (offset $6E00)
LDX #$00
! LDA $6F00,X ; pour la mem aux
! LDA $6F2A,X ; pour la mem princ
SEC
SBC #$18
EOR #$18
STA $7D0,X ; facile mais indétectable à un scanner!
ligne DEDICATED TO etc...
mem aux adr. $6F60 eor #$A7 stocké en $52C,X
mem princ adr. $6F82 eor #$A7 stocké en $52C,X
ligne ESCAPE POUR etc...
mem aux adr. $6FB0 eor #$A7 stocké en $40C,X
mem princ adr. $6FC0 eor #$A7 stocké en $40C,X
ligne HOPE YOU etc...
mem aux adr. $6EE0 eor #$A8 stocké en $50D,X
mem princ adr. $6EF0 eor #$A8 stocké en $50D,X
Et enfin on garde le meilleur pour la fin, la phrase avec
les big kisses
est codée avec un codage évolutif dit "à
entremelement" un peu plus balaise,
mais surmontable. Je vous file pas les parametres sinon vous allez
viré notre
pseudo.
Tu m'en veux pas, Eddie? Tu sais, moi, je suis plus petit
que toi...
- CRACK-WARE (C) THE BRAIN TRUST
Allez, on est cool, on file le truc pour voir notre
numéro de Boot #
augmenté à une vitesse du tonnerre et sans que la
diskette se boote (ainsi vous
dépasserez les 999 boots!) et vous abimerez pas notre drive...
P$11/3.03 : 4C 00 92
Et bootez, c'est surprenant. Pour le remettre en place,
remettez les
anciennes valeurs : A9 8F 85
- PRODUCTIONS BRAIN TRUST EN VRAC :
- Ctrl-shift-0 ou A pour accèder au DOS sur les products
sous Excel-Boot.
- Mais S dès le boot pour Crack-Ware.
- P$1E/C.2F : 4C 56 2E => BrainSmith without password dans le
TBT's Copy Disk
_DESTROY_THE_PRODUCTS!_________________________________________THE_BRAIN_TRUST_
Retour sommaire
Such a shame.
_____________________________________________________________________________
!
!
!
CRACK-WARE
SUCH A SHAME! NO PROTECTION! !
!_____________________________________________________________________________!
Nous ouvrons ici une toute nouvelle rubrique, jamais
rencontrée dans un
disk de cracking, nous allons citer les titres des softs récents
qui ne sont
pas plombés, ce qui met les déplombeurs au chomage!
Pour eux, préparez une caisse de tomates pourries!
GLOBAL
COMMANDER
89 DATASOFT
JAWS
89 STARSOFT
MIXED-UP MOTHER
GOOSE 88
SIERRA ON-LINE
MURDER ON THE
ATLANTIC 88
INTRACORP
POLICE
QUEST
88 SIERRA ON-LINE
SKY
TRAVEL
88 DELTRON
SHOGUN
89 INFOCOM
STAR
TREK
88 PARAMOUNT
THE HUNT FOR RED OCTOBER 88
DATASOFT
THEXDER
89 SIERRA ON-LINE
TICKET TO
HOLLYWOOD
89 BLUELION
Le camion de choux-fleurs revenant à SIERRA ON-LINE
pour 3 softs non
plombés, et la benne à ordures pour Datasoft avec 2
softs...
_SUCH_A_SHAME______________________________________________________________TBT_
Retour sommaire
Pourquoi tant de ...?.
_____________________________________________________________________________
!
!
!
CRACK-WARE
POURQUOI TANT DE HAINE? !
!_____________________________________________________________________________!
Nous avons trouvé ce petit article dans le courrier
de TILT No68
JUILLET/AOUT 1989 page 133, et nous décidons de le publier car
il nous a
beaucoup amusé!
"Je voudrais profiter de tes colonnes pour faire passer un
message. Voilà, je
suis un insignifiant petit pirate de quartier, et j'adresse ma haine
aux grands
groupes de pirates que je connais de nom, tels les Bladerunners, les
Replicants
ou The Union. Je vous déteste, pirates, pour les magnifiques
intros que vous
réalisez, alors que moi je ne saurai jamais en faire le quart.
J'aimerais
arriver à vous faire comprendre la jalousie dévorante que
j'ai pour vous. Voir
la facilité avec laquelle vous faites jaillir les sons et les
couleurs
m'écoeure. Je vous hais, surtout vous, les inaccessibles
Bladerunners, pour
votre incontestable supériorité, et pour en etre
conscients et fiers. Voilà
pourquoi je vis dans l'espoir exécrable de votre pourrissement
à tous...
Pas de signature (étonnant,non?)"
_POURQUOI_TANT_DE_HAINE?___________________________________________________TBT_
Retour sommaire
Source boot 0.
*===================================================*
*
Commencé le:
19/02/89
*
* V
1.0
Révisé le:
13/04/89
*
*
fini le: 24/09/89 (5h40 du mat)*
*
*
* Source commenté du Boot 0 en ROM ($C600 à $C6FF) *
* par Copperfield from The marvellous Brain Trust *
* merci au fichier de Kristo sur les Nibbles (allez *
* voir de ma part déplombage mode d'emploi 6), qui *
* me permis il y a quelques années d'éclaircir
de *
* nombreux
mystères...
*
*===================================================*
ORG $C600 ; Slot CsXX, ici slot 6, S=6
VAR OFF
*===============================
DEBUT LDX #$20 ; Sert à reconnaitre ce BOOT 0 du drive 5'1/4
; sinon aucun interet pour la suite
*-------------------------------
*-Construction de la table dite de 'Translation' qui permettra
* de décoder les Nibbles, pour se faire ce programme a pour but
* de chercher tous les octets de $0 à $7F, n'ayant pas plus de 2
* zéros à la suite, pas plus d'une paire de zéros
et, ayant au
* moins 2 bits à 1 consécutifs.
*-Cette table sera mise en RAM de $356 à $3FF.
*-Routine en $C58E sur mon 2c 384K (idem sur GS) et en $C709 sur
* un 2c 128K, en $C602 sur 2e, 2+ (et GS avec carte controleur).
*-------------------------------
* NOTE 1 : je dis bien en $C58E sur un GS (contrairement à ce que
* certains
disent...)
*-------------------------------
* NOTE 2 : si vous etes un novice laissez tomber cette partie...
*-------------------------------
LDY #$00 ; Y mis à 0, sera incrémenté
jusqu'à $3F
LDX #$03 ; X de $3 à $7F (pourait commencer à 16)
AUTROCTET STX $3C ; sauve X dans la page 0
TXA ; copie X dans l'accumulateur (A)
ASL ; décale à gauche A, bit 7 (=0) dans le
carry
BIT $3C ; test des bits, les bits 6 et 7 deviennent le
; bit de signe et celui de l'indicateur de
; débordement, l'indicateur Z positionné si
; résultat nul
BEQ AUTREX ; si l'octet est trouvé (donc pas 2 bits
; adjacents à 1 on passe à l'AUTRE OCTET
ORA $3C ;)
EOR #%11111111 ; ) suite d'opérations changeant tous les
; ) zéros adjacents en 1 tout en ignorant
AND #%01111110 ;) les bits 7 et 0
HC614 BCS AUTREX ; C=1 ? oui alors passons à la valeur suivante
LSR ; décalage à droite en mettant le bit 0
dans C
BNE HC614 ; un seul bit à 0 ou à 1 ?
TYA ; on sauve la bonne valeur dans A
STA H0356,X ; pour la stoquer dans notre fameuse table
INY ; prochaine valeur à tester
AUTREX INX ; prochain nibble associé à cette valeur
BPL AUTROCTET ; dernier nibble: $FF, on va jusqu'a $7F valeurs
*-------------------------------
* ouf ! soufflons un peu, le plus dur est passé, le reste est
* assez simple. Les novices vous pouvez essayer de comprendre...
*-------------------------------
* ici on va trouver le slot qui sera donné modulo 16
(multiplié
* par 16), grace à une petite astuce : lors d'un JSR, vous savez
* tous que l'on sauve dans la pile l'adresse du (JSR +2)-1 car
* le RTS incrémente celle-ci, donc l'adresse du JSR +1
* Dans notre cas on veut connaitre le slot, et bien c'est simple
* mais il fallait y penser : pour connaitre le slot de la routine
* de Boot, il suffit de prendre l'adresse haute de l'adresse
* (répétition) du JSR, que l'on trouve grace au pointeur
de la
* pile.Compris,non ? Alors comprenez comment se passe un JSR-RTS
*-------------------------------
ADRESSE JSR $FF58 ; met le système en mode texte sans le Bell
; ce qui nous permettra de récupérer
l'adresse
; haute de ADRESSE
TSX ; met le pointeur de la pile dans X
LDA PILE,X ; c'est ICI! On prend l'adresse haute de ADRESSEeEe
; slot modulo 16, ASL : multiplie par 2
; Dans le cas du slot 6 A=$C6
ASL ; A=$8C
ASL ; A=$18
ASL ; A=$30
ASL ; A=$60
STA $2B ; Sauve le slot modulo 16 dans $2B
*-------------------------------
* Les softs-switches s'actionnent de la façon suivante :
* Soft-Switch+slot modulo 16 soit en Assembleur dans X le slot
* modulo 16 : LDA soft-Switch,X (le LDA n'a aucune importance,
* cela pourrait etre STA, BIT, AND, ou tout autre instruction
* du moment que l'on peut l'indexer, X étant le slot)
*-------------------------------
TAX ; met la valeur trouvé
précédemment dans X
LDA $C08E,X ; (Q7L) prépare à la lecture
LDA $C08C,X ; (Q6L) initialise le latch, inutile !
LDA $C08A,X ; (DRV1) sélectionne le drive 1, si vous
; vouliez Booter avec le drive 2, à la place de
; 8A mettre 8B (soit pour 2e : C636:8B)
LDA $C089,X ; (MOTORON) allume le drive
*-------------------------------
* Recalibre la tete de lecture au dessus de 80 pistes, je vous
* sens venir : "oh! l'autre! mort de rire il n'y a pas 80 pistes
* sur une disquette!". Bien sur, il y en a 'que' 34, mais
* c'est pour etre bien sur que la tete de lecture sera bien
* recalibrée en Piste 0, le bruit que vous entendez lors du
* Boot c'est la tete de lecture qui frappe contre le bord.
*-------------------------------
* NOTE : cette routine peut etre utile pour recalibrer la pioche
* pour vos programmes personnels ou pour certains cracks...
*-------------------------------
* Bouge la tete de lecture vers l'extérieur de la disquette,
* Il existe 8 commutateurs de deplacement du drive :
* C080: phase 0 off, C081: phase 0 on,
* C082: phase 1 off, C083: phase 1 on,
* C084: phase 2 off, C085: phase 2 on,
* C086: phase 3 off, C087: phase 3 on.
* pour déplacer vers l'intérieur: C081 C083
* pour déplacer vers l'extérieur: C083 C081
* Le déplacement d'1 piste ce fait par 2 phases
* Pour déplacer le bras il faut dans un premier temps :
* mettre toutes les phases off, puis commuter la une phase on
* et la précédente off.
* Ex. déplacement vers centre de 2 pistes :
* 0 off, 1 off, 2 off, 3 off puis
* 1 on, 0 off, 2 on, 1 off (une piste 2 phases en on et off)
* 3 on, 2 off, 0 on, 3 off (autre piste)
* 0 off, 1 off, 2 off, 3 off (fin)
*-------------------------------
LDY #$50 ; soit 80 en décimal
RECALIBRE LDA PHASEOFF,X ; (PHASE 0 OFF) on passe à la phase
suivante
TYA ; met Y dans A pour le calcul des phases
AND #%00000011 ; (=$03) permet d'avoir 4 phases (0,1,2,3)
ASL ;
ORA $2B ; mélange avec le slot, force les bits à 1
TAX ;
LDA PHASEON,X ; phase suivante à ON
LDA #$56 ; on attend le temps que le bras bouge
JSR WAIT ; car ça ne se fait pas instantanément
DEY ; on passe à l'autre phase
BPL RECALIBRE
*-------------------------------
*-------------------------------
STA $26 ; adresse basse du buffer (soit 00 pour $800)
STA $3D ; numéro de secteur à lire
STA $41 ; numéro de la piste à lire, inutile pour le
; boot sachant que l'on à déja recalibré la
; pioche sur la piste 0, et sachant que le boot
; n'a pas de routine pour bouger la pioche sur
; une piste choisie.Ca sert comme une précaution
LDA #$08 ; adresse haute du buffer (soit 08 pour $800)
STA $27 ; sauve cette valeur ou donc on changera le
; secteur 0 de la piste 0
*-------------------------------
* Je vous demande votre attention svp, meme ceux qui sont au
* fond et qui dorment; cette partie est non seulement à bien
* comprendre pour bien maitriser la machine et savoir déplomber
* C.Q.F.D. ...
*-------------------------------
* C'est ici que nous allons lire le secteur qui est en $3D de la
* piste en $41 et va le stocker en $27 (08), $26 (00)
* Le marqueur (prologue) de champ de données sera cherché
* (D5 AA 96). On recommence tant qu'il ne sera pas trouvé
*-------------------------------
* Recherche des marqueurs du champ d'adresse (D5 AA 96)
* ou champ de données (D5 AA AD), suivant l'état de C
*-------------------------------
D5AA96 CLC ; inhibe l'erreur
HC65D PHP ; sauve le registre d'état avec
; C=0 champ d'adresse; C=1 champ de données
D5_ADRESSE LDA $C08C,X ; remplit le latch
BPL D5_ADRESSE
HC663 EOR #$D5 ; est-ce 1 D5?
BNE D5_ADRESSE ; si c'est le cas A=0 => si différent on
relit
AA_ADRESSE LDA $C08C,X ; meme procédure que pour le D5 sauf que
l'on
; chrch 1 AA maintenant.
BPL AA_ADRESSE
CMP #$AA ; est-ce 1 AA?
BNE HC663 ; ce n'est pas 1 AA, peut-etre 1 D5?
NOP ; timing...
HC671 LDA $C08C,X ; encore meme procédure que pour le AA
BPL HC671
CMP #$96 ; est-ce 1 96? (champ d'adresse)
BEQ HC683 ; oui, alors c'est ok on, saute en HC683
PLP ; restaure registre d'état avec C=0
BCC D5AA96 ; on recommence à chercher D5 AA AD
EOR #$AD ; trouvé champ de données (AD)
BEQ HC6A6 ; on saute alors en HC6A6
BNE D5AA96 ; non on recommence la recherche
*-------------------------------
* Analyse du champ d'adresse et décodage de ce
* qui est lu, semblable à la routine du DOS en $B944
*-------------------------------
* Dans le champ d'adresse se trouve le numéro de volume,
* le numéro de piste et le numéro de secteur codés
en 4.4
* d'1 octet on obtient une paire de nibbles. (et vice versa)
* pour les coder on fait :
* LDA #BYTE Format %xyxyxyxy
* LSR A Format %0xyxyxyx
* ORA #$AA Format %10101010
* on a notre 1er octet de la forme %1x1x1x1x qu'on sauve
* LDA #BYTE Format %xyxyxyxy
* ORA #$AA Format %10101010
* on a notre 2nd octet de la forme %1y1y1y1y qu'on sauve
*-------------------------------
HC683 LDY #$03 ; on va lire 3 fois 2 valeurs
HC685 STA $40 ; sauvons ça
HC687 LDA $C08C,X ; lit 1 nibble de format %1x1x1x1x
BPL HC687
ROL ; Format
STA $3C ; sauve valeur lue
HC68F LDA $C08C,X ; lit la suivante de la paire de nibbles
BPL HC68F
AND $3C ; le combine avec le précédent
DEY
BNE HC685 ; on recommence 2 fois
PLP
CMP $3D ; compare avec le no de secteur qu'on veut lire
BNE D5AA96 ; ce n'est pas ça, lit 1 autre champ d'adresses
LDA $40 ; on vérifie aussi si c'est la bonne piste
CMP $41 ; oui c'est le cas, suite des opérations
BNE D5AA96 ; non on relit champ adresses
BCS HC65D ; on passe au champ de données
*-------------------------------
* Lecture du champ de données : lit 85 ($55) nibbles qui sont
* mis dans 1 buffer de $300 à $335. (buffer secondaire)
* Lecture de 255 ($100) nibbles qui sont mis dans 1 buffer de
* pointé par l'adresse en ($26) (soit en $26 LByte, $27 HByte)
* On verifie le checksum, on saute en $C65C s'il est incorect
* Denibblize (action de transformer de nibble en octet) dans
* le buffer pointé par($26). Incrémente le HByte du
buffer($27)
* incrémente le numéro du secteur ($3D) et le compare
avec $800
* pour savoir s'il faut lire un autre secteur.
*-------------------------------
HC6A6 LDY #$56 ; nbre de nibbles du buffer 2nd à lire + 1
HC6A8 STY $3C ; sauve ce compteur de nibbles
HC6AA LDY $C08C,X ; lit un nibble
BPL HC6AA
EOR H02D6,Y ; complémente les bits grace à la table
LDY $3C ; charge la position du nibble à lire
DEY ; décrémente notre compteur
STA H0300,Y ; sauve la valeur lue
BNE HC6A8 ; on recommence pour 85 nibbles
HC6BA STY $3C ; sauve pointeur
HC6BC LDY $C08C,X ; lit nibble
BPL HC6BC
EOR H02D6,Y ; meme chose que ci-dessus
LDY $3C ; idem ci-dessus
STA ($26),Y ; sauve la valeur de l'octet ds le buffer
INY ; on recommence pour 256 nibbles
BNE HC6BA ; pas encore fini on recommence
HC6CB LDY $C08C,X ; lit un nible, ceci est le nibble de checksum
BPL HC6CB
EOR H02D6,Y ; on calcule le checksum de tout ce qu'on a lu
; pour vérifier s'il n'y a pas erreur de lecture
; et compare le résultat obtenu avec la valeur eul
; sur le disque
HC6D3 BNE D5AA96 ; erreur? Oui, il y en a une
LDY #$00 ; On va commencer à décoder les Nibbles lus
HC6D7 LDX #$56 ; pointeur de valeurs sur buffer 2nd
HC6D9 DEX ; le décrémente
BMI HC6D7 ; X>0 non? alors on continue
LDA ($26),Y ; prend 1 nibble du buffer 1aire
LSR H0300,X ; décalage d'1 bit de l'octet qui lui est
; associé en buffer 1aire
ROL ; le met dans A (A contenant nibble du buf 1aire)
LSR H0300,X ; sauve l'octet trouvé
ROL ; on recommence la meme opération encore 1 fois
STA ($26),Y
INY ; incrémente pointeur du buffer 1aire
BNE HC6D9 ; 255 valeurs Non? alors on continue
INC $27 ; incrémente adresse haute du buffer
INC $3D ; "
secteur suivant a lire
LDA $3D ; prend la valeur trouvée
CMP H0800 ; on regarde s'il faut en charger encore
LDX $2B ; pour un éventuel autre chargement
BCC HC6D3 ; on charge encore un autre secteur
JMP $801 ; The Happy End, on exécute ce que l'on a
chargé
HEX 000000
*-------------------------------
PILE = $0100
H02D6 = $02D6
H0300 = $0300
H0356 = $0356
H0800 = $0800
PHASEOFF = $C080
PHASEON = $C081
WAIT = $FCA8
*-------------------------------
Retour sommaire
EPYX's cookbook.
_____________________________________________________________________________
!
!
! METHODOLOGIE GENERALE POUR DEPLOMBER UN EPYX OU LA MEGA-RECETTE DE
CUISINE! !
!______________________________________________
!
!______________________________________________ File : The JokerSoft
10/ 2/89 !
!_____________________________________________________________________________!
Il est impossible de faire une copie d'un original Epyx
avec un quelconque
copieur sauf si vous le créez vous-meme en assembleur. C'est
l'efficacité de
la désynchronisation de pistes employée par Epyx. Donc si
vous programmez un
copieur qui recherche ces désynchros et qui les adaptent sur
votre diskette,
vous aurez ainsi une copie qui boote, mais non déplombée.
Le format des originaux Epyx n'est pas celui du Dos 3.3,
mais celui du
Dos Patched, donc, d'une part, on peut faire une copie qui ne boote pas
avec
Disk Muncher, et d'autre part, il faudra convertir l'original du format
Dos
Patched au format Dos 3.3. On réalise l'opération avec
Advanced Demuffin,
en ayant au préalable formatter une diskette, et en ayant taper
le célèbre
*B942:18.
On obtient donc une copie de l'original, qui sera copiable
au Locksmith,
mais qui ne bootera pas car les désynchros sont toujours
là.
Nous allons donc employer la méthode du
boot-tracing (aussi fort célèbre!) :
]CALL-151
; entrée sous moniteur
*1600<C600.C700M ; move du slot 6 en $1600
*16F8:4C 59 FF ; CALL-151
après le faux reboot
*1600G
; on lance ce faux reboot
*C0E8
; éteint le drive
*801L
; on liste le boot 1 du disk
On recherche ainsi le premier vrai saut (pratiquement
toujours direct et
rarement indirect dans ce boot 1 (800-8FF)). L'adresse de ce saut va
correspondre au début de la routine de protection.
=> $08MM:JMP $NN00 (rarement JSR)
On applique la technique de boot-tracing (deuxième
étape), on tape :
*16F8:A9 4C 8D MM 08 A9 59 8D MM+1 08 A9 FF 8D MM+2 08 4C 01 08
=> $08MM:JMP $FF59
*1600G
Il va donc y avoir chargement de la routine de protection
en $NN00, puis
plantage en assembleur. Ainsi, on pourra lister cette routine.
*NN00L
On recherche, en tracant la routine, sa fin
c'est-à-dire un JMP $PP00 (avec
PP=NN-5). Ce JMP se trouve donc à l'adresse $NNOO. Il faut donc
éxécuter cette
routine de protection puis l'interrompre avant qu'elle ne continue
à charger
le disk :
*16F8:A9 05 8D MM+1 08 A9 17 8D MM+2 08 4C 01 08
*1705:A9 4C 8D OO NN A9 59 8D OO+1 NN A9 FF 8D OO+2 NN 4C 00 NN
*1600G
*F0.FF
=> récupération des valeurs des EOR #$
On recherche sur la routine de décodage des EOR #$
(celle qui commence en
$NN00) et elle se trouve toujours sur la piste $00 et au secteur $05 ou
$08 ou
$09.
Il faut alors intégrer sur cette routine, un petit
programme qui décode
les secteurs de la RWTS avec ces EOR #$ correspondants :
En P$00,S$0Q,O$00 (Q = 5, 8, ou 9) :
*NN00:A2 RR LDX
#$RR ; RR = nbr d'EOR #$ - 1
BD 10 NN LDA
$NN10,X ; charge les EOR #$ qui sont en $NN10
95
SS STA
$SS,X ; SS = adr de la page 0
où il y a les EOR #$
CA DEX
10
F8 BPL $NN02
4C TT NN JMP
$NNTT ; saute à la suite du
chargement disk
00 00
*NN10:mettre ici les valeurs des EOR #$.
Ceci est une méthode essentielle
mathématique et qui marche (disons) pour
tous les Epyx. Mais le problème est que maintenant il va falloir
pour vous
piger toutes ces variables et bouffer tout ce fichier text : bon
courage, mais
au moins cela vous fait économiser de l'argent, ah, bah, excusez
moi, j'avais
oublié que l'on distribuait les cours de l'infame GDF.
Maintenant je vous donne tous les types de
désynchro sur les Epyx et dérivés
depuis près de 3 ans!
DESYNCHRO : SCHEMA TYPE 1 :
-------------------------
4 EOR : FC EE EE FC stockés en $F0
routine de décodage en P$0/5.ADR $BB00
Ex.: BOULDER DASH CONSTRUCTION KIT - CALIFORNIA GAMES - DONDRA - RAD
WARRIOR -
STREET SPORTS BASKETBALL - TECHNOCOP (P$0/C.ADR $F700) - THE MOVIE
MONSTER GAME
DESYNCHRO : SCHEMA TYPE 2 :
-------------------------
8 EOR : FC EE EE FC E7 EE FC E7 stockés en $F0
routine de décodage en P$0/5.ADR $BB00
Ex.: CHAMPIONSHIP WRESTLING - IMPOSSIBLE MISSION 2 - SPY VS SPY 3 -
STREET
SPORT SOCCER - WINTER EDITION - (voire STREET SPORTS FOOTBALL)
DESYNCHRO : SCHEMA TYPE 3 :
-------------------------
8 EOR (inverse) : E7 FC EE E7 FC EE EE FC stockés en $F0
routine de décodage en P$0/9.ADR $5F00
Ex.: DIVE BOMBER
DESYNCHRO : SCHEMA TYPE 4 :
-------------------------
8 EOR (inverse) : E7 FC EE E7 FC EE EE FC stockés en $F8
routine de décodage en P$0/5
Ex.: L.A. CRACKDOWN (ADR $F000) - SPIDERBOT (ADR $BB00)
DESYNCHRO : SCHEMA TYPE 5 :
-------------------------
8 EOR : FC EE EE FC E7 EE FC E7 stockés en $F0
routine de décodage en P$0/8.ADR $1A00
+ vérif. sur le numéro de volume : V001
Ex.: SUMMER EDITION
N'ayant pas eu les originaux suivants entre les mains, je
ne peux les
classer dans les schémas type cités plus hauts :
DEATH SWORD - DESTROYER - STREET SPORTS BASEBALL - SUB BATTLE SIMULATOR
- WHERE
IN EUROPE IS CARMEN SANDIEGO? - WORLD GAMES
_EPYX'S_COOKBOOK_________________________________________________THE_JOKERSOFT_
Retour sommaire
Arkanoid.
_____________________________________________________________________________
!
!
! ARKANOID (C) 1988
Taito
Cracked by THE JOKERSOFT - 18/12/88 !
!_____________________________________________File : THE
JOKERSOFT_-_28/ 8/89_!
L'original d'Arkanoid est copiable au Locksmith, mais la
duplication plante
en vous affichant une page text bien crade. Boot traçons alors
le soft :
]CALL-151
*1600<C600.C700M
*16F8:4C 59 FF
*1600G
*C0E8
*801L
Ce début de boot 1 sert essentiellement à
charger les quelques secteurs
utiles pour la suite du chargement. Il stocke $BC00 en $80 et $81
(adresse
haute du chargement de ces sect), et $05 en $8FB (c'est-à-dire
le nbr de sect à
charger.), puis il DEC $81 ($BC->$BB->$BA->$B9->B8) et DEC
$8FB (5->4->3->2->1)
et d'après la table des secteurs qui se trouve à la fin
du boot 1, on a
l'organisation suivante :
1° sect : P$0/5 . offset $BC00
2° sect : P$0/7 . offset $BB00
3° sect : P$0/9 . offset $BA00
4° sect : P$0/B . offset $B900
5° sect : P$0/D . offset $B800
En $853, on trouve le premier JMP en $BC00. Il nous faut
donc récupérer
cette routine en $BC00.
*16F8:A9 59 LDA #$59
8D 54 08 STA $854
A9
FF LDA #$FF
8D 55 08 STA $855
4C 01 08 JMP $801
*1600G
*BC00L
On y trouve une routine qui détruit la page HGR
($BC09-$BC1B) et qui
l'affiche ($BC1C-$BC27). Cela permet alors de charger des
données du programme
en page text ($400-$7FF) sans que cela se voit.
Puis il JMPe, il JSRe, il RTSe partout mais cela
correspond aux chargements
des pistes qui vont constituer le coeur du programme Arkanoid et ses 9
premiers
tableaux.
Mais ce qui nous intéresse est en $BC4D, on trouve
un JMP en $4000 qui est
notre routine de protection du disk. Il nous faut donc aussi
récupérer ce
programme en $4000.
*16F8:A9 05 LDA #$05
8D 54 08 STA $854
A9
17 LDA #$17
8D 55 08 STA $855
4C 01 08 JMP $801
A9
59 LDA #$59
8D 4E BC STA
$BC4E
A9
FF LDA #$FF
8D 4F BC STA
$BC4F
4C 00 BC JMP
$BC00
*1600G
*4000L
Il faut attendre quelques secondes avant que le programme
ne se plante car
il faut que toutes les pistes se chargent. La vérif. de
protection est donc
très loin dans le boot.
A partir de $4010, on a ce qui nous intéresse : un
beau nibble count!
*4010:AD F8 40 LDA
$40F8 ; il charge $40F8
D0
03 BNE
$4018 ; s'il est négatif, va en $4018
4C 00 02 JMP
$0200 ; sinon va en $200 (buffer clavier)
C'est ce que l'on veut pour que cela ne plante
pas, alors pourquoi ne pas forcer le prog. à
le faire...
*4018:AD 51 C0 LDA
$C051 ; commute en page text d'une page HGR
Puis rout. qui sert à planter le soft.
Il nous suffit donc de NOPer le BNE (D0 03) et le tour est
joué.
On recherche cette rout. sur le disk :
P$20/0.13:D0 03 -> EA EA
Et maintenant, je vous explique comment ils ont
posé leurs variables utiles
pour faire le fix d'Arkanoid, malgré le TBT's fixint de moi-meme!
P$1/1.6C (offset $116C) :
LDA #$00 ; player 1 = 00 et player 2 =01
STA $9A ; case mémoire
LDA $AD ; numéro du round
marqué
STA $87 ; case pour le premier joueur
STA $88 ; case pour le deuxième
joueur
LDA #$01
STA $CF
LDA #$02 ; nbr de vie => P$1/1.7B (adr
$117B)
STA $84 ; case pour le premier joueur
STA *85 ; case pour le deuxième
joueur
...
P$1/4.5C (adr $145C) : D6->B5 => décrémention des
vies supprimée
P$1/D.65 (adr $1D65) : F6->B5 => incrémention des vies
supprimée
Mais aussi une petite bidouille de "The Satanic" pour
accélérer la vitesse
de la balle dont la lenteur fait peur :
P$9/4.D6 : F8->FD
En effet, il a retrouvé la boucle d'attente qui
controle la vitesse de la
balle, et il l'a shunté. Cette rout. se décomposant alors
comme suit :
CF:LDX #$80 <-------------
D1:DEX
!
D2:BNE
$D1
!
D4:DEY
<----!
!
D5:BNE $D4 -- (was $CF) --
D7:RTS
Dernière nouvelle : certaines versions du TBT's
fixint plantent, en effet on
ne peut jouer qu'en utilisant les vies infinies, alors on corrige cette
erreur
: P$1D/E.93 : 1F->1D
Alors là, on se sent mieux...
Dernière heure : je viens de finir Arkanoid GS
(vous croyez tout de meme
pas que je joue sur la version Apple 2!), c'est cool, 33 tableaux,
environ
1.600.000 pts et une cinquantaine de coups de boule dans la gueule de
Doh pour
que Vaus soit victorieux!!! Mais Arkanoid 2 : The Revenge Of Doh
(version GS)
est encore plus génial, rapide et compliqué!
Dernière minute : il paraitrait qu'il existe un
autre casse-briques sur
Apple 2 et qui aurait été fait par des anciens
déplombeurs, ah bon!
Dernière seconde : un autre groupe de hackers
français auraient préparé un
nouveau casse-briques en DHGR ???
_ARKANOID________________________________________________________THE_JOKERSOFT_
Retour sommaire
Art of war at sea.
-------------------------------------------------------------------------------
THE ANCIENT ART OF WAR AT SEA <K> BY LOOCKHEED FROM THE REGRETTED
BRAIN TRUST !
-------------------------------------------------------------------------------
Bon tout d'abord je voudrais remercier THOR & SHOGUN
pour l'original (il
coute la peau des burnes en restant correct!).
Kan on voit BR0DERBUND, on se dit "Merde! Encore un 18s!!!". Eh
bien, pas du
tout not at all car c'est une bete protection (j'ai pas cherche
à la décortikée
mais ça doit etre une bete recherche de nibble plankée!).
En plus on fait
l'économie d'un boot de Demuffin car il est tout à fait
copiable au Locksmith!
Enfin un BOOT 1 tout ce qu'il y'a de plus banal et un traçage
d'une facilité
déconcertante...
Donc après le BOOT 1 un bo et tres visible JMP
$8000, et puis en zieutant ce
qu'il y'a là, on tombe sur une connerie du genre :
805A:20 E9 81 JSR $81E9 ; Pour vous
ça ne veut peut etre rien dire, mais
805D:90 03 BCC
$8062 ; pour n'importe quel déplombeur ceci est le
805F:4C 78 81 JMP $8178 ; prototype
(l'archetype pour notre Apple) de
8062:AD 98 BF LDA $BF98 ; la
protection dite "beauf".
Le premier JSR va à la vérif' (que je n'ai
pas cherché à décortiker car à
mon avis vu comment il l'a planké le reste n'aurait pas du etre
très
folichon..!)
Le BCC est d'une banalité!!! Combien ai-je vu de
routines plus ou moins
plombeuse se servir de ce procédé usé! En effet la
plupart des programmeurs
utilisent cette instruction comme suit :
JSR n'importe quelle routine de vérif'
Puis deux cas se présentent :
- soit on teste si tout va bien :
(manière qu'à choisi le plombeur de "Ancient Art
Of War At Sea")
BCC touva bien
- soit on teste si tout va mal :
BCS Ciel mon mari!
Donc si vous avez compris le truc, la routine se branche en
$8062 si le disk
n'est pas une ignoble copie faite par un vil pirate. Kan je suis
allé voir ce
qu'il y'avait en $8178 je ne fus pas surpris de trouvé un LDA
#$D2
STA $400, routine qui
affiche le R du Reboot propre à tous les Brody...
Donc pour le déflorer, remplacez betement le #$4C
figurant en Piste $00
Secteur $01 Octet $5F en un bo #$2C...
Ca manke de sex tout ça... LOOCKHEED.
Retour sommaire
Bad Dudes.
_____________________________________________________________________________
!
!
! BAD DUDES (C) 1988 Data
East
Cracked by LOOCKHEED - 18/ 3/89 !
!_____________________________________________File : THE
JOKERSOFT_-_10/ 7/89_!
Bad Dudes a exactement la meme protection que Platoon, on
retrouve ce soft
copiable au Locksmith 6.0, au boot un chargement de 3 secteurs
($800-$900-$A00
(800:03)), la rout. de nibbles count en $A00 (avec les LDA $C08C,X), en
$A4A
le JMP $C600 (reboot), et le JMP simulé final (JMP $801). Toutes
les
explications et le source de la protection sont dans le fichier PLATOON.
Ainsi on déplombe Bad Dudes, en faisant :
P$0/0.00:01 A5 27 C9 09 avec un éditeur de secteurs sur une
copie Locksmith.
Il existe 3 versions de Bad Dudes signées THE BRAIN
TRUST :
1/ Avec l'anim de l'année : la SPOT SYNCHRONISED ANIMATION BY
LOOCKHEED, mixed
DHGR et DGR, mais hélas ne tournant que sur les Apple 2e,
à cause de la
synchronisation du spot $C070.
2/ La version Black Chest avec une digit des tetes de tous les membres
du
BRAIN TRUST.
3/ La version TBT's fixint avec une digit de la pub Atari/Amiga de
Dragon
Ninja, pour montrer la différence entre leur présentation
merdique et la notre.
Dans toutes les versions, vous trouverez une doc. de 30 secteurs en
face 2.
Puisque nous parlons de fix, je vous donne celui-ci :
time : P$4/C.22 : 49 (STA $FF0F) (adr $DE1E) (file G)
coup : P$4/C.05 : 05 (STA $FFD6) (adr $DE01) (file G)
vies : P$3/6.A9 : 02 (STA $FFD5)
time inf. : P$20/5.55 : 01->00 (adr $FE51)
coup inf. : P$05/F.39 : CE->AD (adr $EB35)
vies inf. : P$04/4.FF : CE->AD (adr $E6FA)
Et maintenant nous vous confions nos recherches sur le
Quick-DOS,
(essentiellement trouvées par Patchman) :
On remarque en catalog que tous les noms de fichiers ne font qu'une
lettre!
Dans le tracing de ce Dos, on retrouve souvent la séquence
(comme dirait
Nicolas Hulot!) : LDA #$ / LDX #$ / LDY #$ / JSR SEEKABS comme un
Acco-boot!!!
Explications :
- A9 : LDA #$nom du fichier sur un octet (A->Z transcris en ASCII),
- A2 : LDX #$00 ou 01 => fichier éxécutable OUI ou NON,
- A0 : LDY #$XX => XX = bit haut de l'adresse de début
où chargée,
(HIGH = XX : LOW = 00)
- 20 : JSR SEEKABS => permet le chargement grace aux 3
données (cool!!).
_BAD_DUDES______________________________________________________THE_JOKERSOFT_
Retour sommaire
Bubble Bobble.
_____________________________________________________________________________
!
!
! BUBBLE BOBBLE (C) 1988
TAITO
Cracked by BYTLEJUICE 9/9/89 !
!________________________________________________File_:_THE
JOKERSOFT_18/9/89_!
En faisant un p'tit boot tracing rapidos de Bubble Bobble
sur une version
déjà déprotégée, je me suis
aperçu qu'il devait y avoir un certain gdf qui se
retournait dans sa tombe car la vérif' de protec' était
certes un nibbles count
mais le boot était complètement différent, mince,
cela va faire mal à ses
finances avec ces cours. Et dire qu'il avait prédit la meme
protection pour
tous les Taito à venir, des titres comme Target Renegade, Qix
mais aussi Bubble
Bobble (famous arcadia games). Et bien, il l'a encore eu dans le cul...
eh oui,
souvenez-vous qu'il existait aussi un cours sur les protections
actuelles et
futures des Sierra On-Line, ce fut alors la meme chose (si ce n'est
pire) car
Sierra ne plombe plus ces softs. Cet escroc qui voulait devenir riche
était
décidemment plus doué pour le marchandage de tapis, que
pour le cracking dont
il se faisait une gloire...
Ce petit boot-tracing m'a permis de retirer les infos
suivantes :
- Le Boot 1 est très proche du Boot 3.3 que l'on connaissait sur
Apple depuis
1980, ainsi on trouve en $84A : JMP $B700 (<=> P$0/0.4A : 4C 00
B7),
- En $B700, rt. classique se parametrant sur les données d'une
RWTS 3.3 qui se
conclut en $B73B par un JMP $9800 (<=> P$0/1.3B : 4C 00 98),
- En $9800, rt. qui charge les pistes à la vitesse du bon vieux
DOS 3.3,
c'est-à-dire la vitesse d'une charrue tirée par un boeuf
dopé aux hormones au
meilleur de sa forme et avec le vent dans le dos à 14h00 (heure
GMT). Cette
rt. se terminant par un JMP $6000 (<=> P$14/0.3E : 4C 00 60)
- En $6000, rt. qui affiche INSERT OTHER SIDE, etc...
Mais hélas (ayant travaillé sur la version
TBJ) je n'ai pas vu le shuntage
de la protec' qui était (encore et quand meme) un nibble count...
Ceci pourra quand meme vous aider si vous avez l'original
de B.B dans les
mains (pas comme moi, j'insiste!!!)
Mais dans mon infime bonté, je vous file le fix de
B.B qui ne sert à rien
car vous disposez d'une option "time runs out" qui vous fait reprendre
le jeu
où vous en étiez lors du Game Over (il va donc de soit
qu'un fixed game ne
serait qu'une perte de temps!!!)
P$5/5.5 : 02 (STA $DE) => nbre de vies.
Et puis on a souvent critiqué la vitesse du premier
Taito : Arkanoid, alors
comme je pense que celle de B.B est convenable, je vous propose un fix
ralentissant le jeu, tout simplement par esprit de contradiction :
P$9/9.51 et 56 : 01 => vitesse du jeu
(rem : une valeur plus grande ralentie!
mettre 5 par exemple)
Et puis pour faire vraiment chier Taito, un fix pour
accélérer la vitesse de
notre petit "bulleur" lors de la démo (au début) et
pendant ses descentes :
P$8/5.CD : 01 => vitesse de déplacement hors jeu
(rem : une valeur plus grande
accélère! mettre 3 par exemple)
Allez bon jeu, car il est pas trop mal celui-là pour une fois!!!
_BUBBLE_BOBBLE___________________________________________________THE_JOKERSOFT_
Retour sommaire
Crossbow.
_____________________________________________________________________________
!
!
! CROSSBOW (C) 1988 Absolute Entertainment,
Inc.
THE JOKERSOFT !
!_____________________________________________________________________________!
Comment extraire la musique de la présentation de
Crossbow ?
Prendre un Dos 3.3 normal.
Faites BLOAD G.LOGO avec Crossbow dans le drive.
Tapez CALL-151
*62B0:EA * 3
*62B9:EA * 9
Mais il faut que la case mémoire $6F contienne la valeur $00 :
*62A4:A9 00 85 6F
Puis BSAVE MUS.CROSSBOW,A$62A4,L$15C, ce qui fait 3 secteurs.
_CROSSBOW________________________________________________________THE_JOKERSOFT_
Retour sommaire
Dive Bomber.
_____________________________________________________________________________
!
!
! DIVE BOMBER (C) 1988
Epyx
Cracked by C.C+COP+LCKD+TJS - 24/ 9/88 !
!_____________________________________________File : THE JOKERSOFT_-_
6/ 2/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à Dive Bomber, c'est-
à-dire DamBuster II.
Faire une copie demuffinisée de l'original.
Appliquons la technique de boot-tracing.
En analysant le boot 1, on trouve en $862 un JMP $5F00,
listing où se
trouve la protection.
On récupère les valeurs de désynchro
par la méthode habituelle. On trouve
E7 FC EE E7 FC EE EE FC (EOR #$ inverses de ceux d'Impossible Mission
2!)
Puis on implante notre chère rout. en $5F00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $09, octet $00) :
A0 07 LDA #$07
B9 10 5F LDA $5F10,Y
99 F0 00 STA $00F0,Y
88 DEY
10 F7 BPL $0002
4C 7C 5F JMP $5F7C
00 00
E7 FC EE E7 FC EE EE FC
Et ça boot impec.
_DIVE_BOMBER_____________________________________________________THE_JOKERSOFT_
Retour sommaire
Dondra.
_____________________________________________________________________________
!
!
! DONDRA (C) 1988 Spectrum
Holobyte
Cracked by COP+TJS - / 4/88 !
!_____________________________________________File : THE
JOKERSOFT_-_10/ 2/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à Dondra, qui n'est en
fait qu'un Spectrum Holobyte (tiens, ils se revendent leur plombage
entre eux!)
Faire une copie demuffinisée de l'original.
Appliquons la technique de boot-tracing.
En analysant le boot 1, on trouve en $84A un JMP $BB00,
listing où se
trouve la protection.
On récupère les valeurs de désynchro
par la méthode habituelle. On trouve
FC EE EE FC (Il n'y a ici que 4 EOR #$ par rapport à d'autres
qui en ont 8!)
Puis on implante notre chère rout. en $BB00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $05, octet $00) :
A9 FC LDA #$FC
85 F0 STA $F0
85 F3 STA $F3
A9 EE LDA #$EE
85 F1 STA $F1
85 F2 STA $F2
4C 7A BB JMP $BB7A
Et ça boot impec.
_DONDRA__________________________________________________________THE_JOKERSOFT_
Retour sommaire
Force 7.
_____________________________________________________________________________
!
!
! FORCE 7 (C) 1987
Datasoft/Intellicreations (K)
COP+LCKD+TJS - / 6/88 !
!_____________________________________________File : THE
JOKERSOFT_-_11/ 2/89_!
L'original de Force 7 est copiable au Locksmith, mais la
duplication plante
en écrivant : PLEASE USE ORIGINAL, après avoir
affiché la page graphique de
présentation. Boot traçons alors le soft :
]CALL-151
*1600<C600.C700M
*16F8:4C 59 FF
*1600G
*C0E8
*801L
En $84A, on trouve le premier JMP en $B700. Il nous faut
donc récupérer
cette rout. en $B700 pour voir s'il n'y a pas la vérif. de
protection qui
contiendrait la prog. qui affiche ce message si
désagréable...
*16F8:A9 59 LDA #$59
8D 4B 08 STA $84B
A9
FF LDA #$FF
8D 4C 08 STA $84C
4C 01 08 JMP $801
*1600G
*B700L
En $B741, on trouve le premier JMP en $1E00 qui est notre
vérif. de
protection du disk. Il nous faut donc aussi récupérer ce
programme en $1E00.
*16F8:A9 05 LDA #$05
8D 4B 08 STA $84B
A9
17 LDA #$17
8D 4C 08 STA $84C
4C 01 08 JMP $801
A9
59 LDA #$59
8D 42 B7 STA
$B742
A9
FF LDA #$FF
8D 43 B7 STA
$B743
4C 00 B7 JMP
$B700
*1600G
*1E00L
En $1E00, il allume la page HGR et il initialise les
vecteurs reset. Puis en
$1E2A, on trouve un JSR $1EF9. Allez on y saute : 1EF9L. On y trouve 2
initialisations fort intéressantes pour la suite de la rout. :
*1EFC:A0 00 LDY #$00
8C B9 1E STY
$1EB9
A9
4A LDA #$4A
8D BA 1E STA
$1EBA
Alors là réflechissons 30 sec., ces 2
valeurs $1EB9 et $1EBA se trouvent en
plein dans notre listing ($1E00-1FFF), mais à quoi cela peut-il
bien lui
servir?
Continuons à tracer ce prog. :
....
*1F25:CMP #$CC ; il compare la première série
de headers CC AA 96
....
; Etrange ce CC normalement c'est DE, NOPons ce CMP #$CC.
*1F2E:CMP #$AA
....
*1F37:CMP #$96
....
*1F3B:STY $1EB9 ; il stocke le résultat en $1EB9
....
*1F46:CMP #$D5 ; il compare la deuxième série
de headers D5 DE AA EB
....
*1F4F:CMP #$DE
....
*1F58:CMP #$AA
....
*1F61:CMP #$EB
....
*1F65:STY $1EBA ; il stocke le résultat en $1EBA
....
....
*1F9F:AD B9 1E LDA
$1EB9 ; il charge la valeur $1EB9
C9
10 CMP
#$10 ; il la compare à $10
B0
C6 BCS
$1F6C ; si celle-ci est mauvaise, va en $1ECC
AD BA 1E LDA
$1EBA ; il charge la valeur $1EBA
C9
0B CMP
#$0B ; il la compare à $0B
B0
BF BCS
$1F6C ; si celle-ci est mauvaise, va en $1ECC
..
60
RTS ; sinon
tout va bien, on retourne à
l'appelant!
Mais alors qu'est-ce que c'est que cette foutue rout. en
$1ECC?
*1ECCL
Ce n'est en fait que la prog. qui repasse en mode text,
qui affiche la
phrase : PLEASE USE ORIGINAL, et qui fait tout planter, tout simplement
en
bouclant sur elle-meme : *1EE3:JMP $1EE3.
Donc en NOPant toute la rout. en $1F9F, on élimine
cette vérif.
Mais le problème est qu'il va faire deux autres
vérifs : on continue donc
à boot-tracer le listing :
Check 2 = *1E5C:AD B9 1E LDA
$1EB9 ; il charge la valeur $1EB9
C9 10 CMP
#$10 ; il la compare à $10
B0 C7 BCS
$1E2A ; il retourne à l'endroit
où l'on
avait trouvé le JSR $1EF9 et donc
il boucle, et il finira donc par
afficher : PLEASE USE ORIGINAL.
Check 3 = *1EAD:AD BA 1E LDA
$1EBA ; il charge la valeur $1EBA
C9 0B CMP
#$0B ; il la compare à $0B
B0 AD BCS
$1E61 ; il va trouver un autre BCS $1E2A
qui va le rebrancher sur le
JSR $1EF9 et on connait la suite...
Donc on NOPe bestialement ces 2 checks (soient NOP * 7),
et on est
tranquille.
Bon, on a complétement tracé et
décortiqué cette vérif. On a NOPé un bon
nombre de fois, il faut alors rechercher tout cela sur le disk.
Déjà la rout.
$1E00-1EFF se trouve en P$1/E et $F. Recherchons les octets :
P$1/F.25:C9 CC -> EA * 2
P$1/F.9F:AD B9 1E C9 10 B0 C6 AD BA 1E C9 0B B0 BF -> EA * 14
P$1/E.5C:AD B9 1E C9 10 B0 C7 -> EA * 7
P$1/E.AD:AD BA 1E C9 0B B0 AD -> EA * 7
Et voilà, plus jamais vous n'aurez cette affreux
message PLEASE USE ORIGINAL
non mais c'est affligeant de voir des choses comme ça, mais
ça fait quand meme
30 NOP pour cette rout. d'un header de début de champ
données qui était
modifié.
Je vous refile le fix de Force 7 que j'ai fait et qui se
trouve déjà dans
Starfix 6 (on ne sait jamais peut-etre que vous ne l'avez pas!)
1/ Touches au clavier :
esc = pause
ctrl-R = restart
ctrl-S = sound on/off
2/ Table des variables pour les 7 personnages : (adr.$F8XX)
P$1C/8.47 : saved
4E : health
55 : fatigue
5C : rounds
63 : grenades
6A : flames
3/ Noms des personnages :
P$1C/A.47+(15*(X-1))
4/ Health : (C.M $F84E)
P$1B/2.63 : DE -> BD
66 : DE -> BD
69 : DE -> BD
6C : DE -> BD
ctrl-P remet votre santé au maximum.
5/ Fatigue : (C.M $F855)
P$1B/9.49 : FE -> BD
56 : DE -> BD
8D : DE -> BD
6/ Rounds infinites : (C.M $F85C)
P$1B/7.A3 : 01 -> 00 => sub machine gun
8.68 : 01 -> 00 =>
automatic H20
7/ Grenades infinites : (C.M $F863)
P$1B/8.01 : 01 -> 00 => grenade launcher
8/ Flames infinites : (C.M $F86A)
P$1B/7.2E : 01 -> 00 => flame thrower
9/ Humans : (C.M $D019)
P$1B/2.04 : 01 => dec du nb d'humains sauvés en
1 fois.
0D : 01 =>
inc du nd d'humains sauvés en 1 fois.
10/ Battle unit : (C.M $F84D)
P$1B/2.82 : 87 -> FF => tps max pour etre ds le
Battle Unit
9.97 : CE -> AD => tps
inf. (fix non conseillé car on ne peut plus
sortir du Battle Unit.)
11/ Score : (C.M $F84A)
P$1C/B.84 : 01 -> X => score de X00 pts en X00 pts.
12/ Un fixint de "FORCE SEVEN" a été
réalisé par THE BRAIN TRUST et circule!!!
Il s'appelle "FORCE 7.2 : ZE COOL FIX!"
_FORCE_7_________________________________________________________THE_JOKERSOFT_
Retour sommaire
Impossible mission 2.
_____________________________________________________________________________
!
!
! IMPOSSIBLE MISSION 2 (C) 1988 Epyx / FACS Cracked
by LCKD+TJS - 27/12/88 !
!_____________________________________________File : THE JOKERSOFT_-_
6/ 2/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à Impossible Mission 2.
Faire une copie demuffinisée de l'original.
Appliquons la technique de boot-tracing.
En analysant le boot 1, on trouve en $83A un JMP $BB00,
listing où se
trouve la protection.
On récupère les valeurs de désynchro
par la méthode habituelle. On trouve
FC EE EE FC E7 EE FC E7.
Puis on implante notre chère routine en $BB00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $05, octet $00) :
A0 07 LDA #$07
B9 10 BB LDA $BB10,Y
99 F0 00 STA $00F0,Y
88 DEY
10 F7 BPL $0002
4C 7A BB JMP $BB7A
00 00
FC EE EE FC E7 EE FC E7
Et ça boot impec.
Et en plus, on vous file le fix :
P$9/2.0E : sec (STA $20E) => valeur des secondes
P$9/2.21 : min (STA $20F) => valeur des minutes
P$9/2.60 : heure (STA $210) => valeur des heures
P$9/2.06 : 01 -> 00 => bloque les secondes
P$9/2.19 : 01 -> 00 => bloque les minutes
P$7/E.2A : 01 -> 00 => bloque les heures
And now, change your Apple 2 in a MIA9366B pocket
computer, Elvin!
_IMPOSSIBLE_MISSION_2____________________________________________THE_JOKERSOFT_
Retour sommaire
Jaws.
_____________________________________________________________________________
!
!
! JAWS (C) 1989 Box Office /
StarSoft
THE JOKERSOFT !
!_____________________________________________________________________________!
Comment extraire la musique de la présentation de
Jaws ?
Prendre un Dos 3.3 normal.
Faites LOAD JAWS #1
Ne conservez que les lignes de 40 à 48.
Puis RUN.
Il ne chargera que les fichiers :
- JAWS.PLAY,A$300,L$D0 (2 sect.)
- M.JAWS.SONGFIN,A$2900,L$282 (4 sect.)
_JAWS____________________________________________________________THE_JOKERSOFT_
Retour sommaire
L.A. Crackdown.
_____________________________________________________________________________
!
!
! Déplombage de "L.A.
CRACKDOWN" par THE JOKERSOFT et
LOOCKHEED !
!
---------------------------------------------------------------------------
!
! Un super fichier explicatif sur le comment du
pourquoi de ce plombage !
! Fait le 29/7/88 jour de l'achat du 14ème soft Black
Chest et de son crack !
!_________________________________________________________________________TJS_!
Ce soft comme beaucoup d'autres qui sont sortis récemment chez
EPYX, est
lisible au DISK MUNCHER et se convertit au format 3.3 avec ADVANCED
DEMUFFIN.
]BLOAD ADVANCED DEMUFFIN 1.1
;disponible dans toutes les bonnes crèmeries
]CALL-151
*B942:18 N
800G
; classique mais si efficace
>CONVERT
DISK
; Y(ES) si nécessaire
Et copiez les 2 faces en ayant pris soin auparavant d'avoir formatter
de votre
disk vierge.
Puis on boote-trace :
]CALL-151
*1600<C600.C6FFM
*16F8:60
*1600G
; reboot
*C0E8
; permet d'éteindre le lecteur
*801L
; examinons le BOOT1
en 807: JSR $861
et 861: AD 81 C0 AD 81 C0
... suite
88B: AD 83 C0 AD 83
C0 ; tiens on est
dans la bank 2
891:
60
; on retourne en 80A
en 80A: suite
et 839: 6C 3E
00
; JMP ($003E) çà ressemble bcp à du boot 3.3
<=> JMP $C65C
On continue notre listage et on touve le saut fatidique :
84D: 4C 00
F0
; JMP $F000 en plein dans la bank
Mais qu'il y a t'il en $F000?
On reboote le soft puis 2 secondes après le boot on fait
ctrl-pomme-reset puis
très rapidement ctrl-reset, puis :
]CALL-151
*300:AD 83 C0 AD 83 C0 A0 00 B9 00 F0 99 00 20 C8 D0 F7 EE 0A 03 EE 0D
03
AD 0D 03 C9 21 D0 E8 AD 81 C0 AD 81 C0 60
*300G
C'est-à-dire une super routine de move $F000 (bank) en $2000
(ram normale).
*2000L
2000- A9 00
LDA #$00 ; début de la
routine (avant en $F000)
2002- 8D 78 04 STA $0478
2005- A9 40
LDA #$40
....
200E- 85 FC
STA $FC ; mais que stocke
t'il en page zéro?
....
201A- 85 FD
STA $FD ; mais c'est dingue
çà!!!
....
202B- A0 00
LDY #$00 ; on saute de joie, c'est
la verif'
202D- BD 8C C0 LDA $C08C,X
2030- 10 FB
BPL $202D
....
2043- C9 E7
CMP #$E7 ; vous avez dit bizarre!
....
204C- C9 E7
CMP #$E7 ; comme c'est bizarre!
....
2055- C9 E7
CMP #$E7 ; vous avez dit
étrange!
....
2068- C9 EE
CMP #$EE ; comme c'est
étrange!
....
2075- 99 00 00 STA
$0000,Y ; on tiens presque le bout
....
207A- 30 F4
BMI $2070 ; fin de la vérif'
207C- A9 00
LDA #$00 ; routine qui
décode les EOR #
207E-
A8 TAY
207F- 85 F0
STA $F0 ; encore dans la page
zéro
....
208E: 6C FD 08 JMP
($08FD) ; ca ressemble toujours à un boot 3.3
On décide alors de regarder ce qu'il y a dans la page
zéro :
*F0.FF
*F0- 00 EE 00 00 D5 AA 96 DE
*F8- E7 FC EE E7 FC EE EE FC
A l'aide de DISKFIXER V4.0 (et surtout pas MOBBY DISK II) on rentre la
routine
suivante :
P$00, S$05 (c'est-à-dire ORG$F000), O$2B :
A9 FC 85 F9 85 FC 85 FF A9 EE 85 FA 85 FD 85 FE A9 E7 85 F8 85 FB 4C 7C
F0
On met les EOR # :
- FC dans F9, FC, FF,
- EE dans FA, FD, FE,
- E7 dans F8, FB
Puis on saute à la routine qui décode ces EOR #, en $F07C.
Le prog. sauve des parties sur le disk (en piste $0F), mais il a une
RWTS
classique, on pourra d'ailleurs repérer les headers avec Nibbles
Away :
D5 AA 96 DE AA EB D5 AA AD.
Pour finir, je peux vous dire qu'il y a un catalog sur le disk mais il
ne sert
à rien, peut-etre a t'il été oublié par les
programmeurs!!!
_______________________________________IT'S ANOTHER CRACK FROM THE
BRAIN TRUST_
Retour sommaire
Might and Magic II.
_____________________________________________________________________________
!
!
! MIGHT AND MAGIC 2 (C) 1988 New World Computing <K> Oliver
TWIST - 18/ 1/89 !
!
File fix : The JOKERSOFT - 11/ 7/89 !
!
File crack : Oliver TWIST - 4/ 9/89 !
!
Révision crack : Oliver TWIST - 9/ 8/89 !
!________________________________Correction finale : The JOKERSOFT -
10/ 9/89_!
Longue vie à tous...
Ouais, finalement je me suis
décidé pour écrire ce giga fichier... En
fait, c'est après avoir réfléchi longuement, que
je me suis dit qu'il ne serait
pas résonnable de quitter ce monde de gloire infinie et de
jouissance éternelle
provoquées par les cris des protections vaincues auxquelles je
rends hommage
pour les heures passées, sans que mon imagination
débordante ne fasse un
Giga-dernier-fichier-délire-qui-tue-tout-le-monde. Alors je vous
explique la
protection et puis, comme dans le TOP 50, la place est largement
réservée aux
MEGAMIX divers, je laisserais la place à THE JOKERSOFT qui fera
son MEGAFIX
pour changer un peu.
Tiens, maintenant qu'on va
tous mourir, je vais vous dire un truc... Je
ne sais pas si vous vous rappelez, mais il fut un temps où des
rumeurs, qui
provenaient pourtant d'une idée considérée comme
secrète, couraient sur le
Brain Trust et Dechavanne... D'ailleurs quelle ne fut pas ma surprise
lorsqu'un
blaireau me lança un jour au téléphone ces
quelques phrases non dénouées
d'interet :
- Alors Oliver, où
c'est-y qu'elle en est cette émission avec
Dechavanne et où c'est-y qu'elle en est ???
Enfin, il y a des fuites
partout, meme si elle ne provienne pas du
Brain Trust... Mais je me demande bien qui était l'autre
personne au courant de
ce truc ???
Bref, cette émission
avait deux buts principaux :
1er But: Causer
déplombage et piratage avec Duthil et se demmerder pour
s'en tirer gagnant... (Dur!!!)
2me But: Qu'on voit nos
tronches à la télé... Eh ! On n'est pas
mégalo
pour rien, bande de trous...
Bon, tout ça pour
vous dire que pour ce qui est du second but, si y'en
qui veulent me voir à la télé, il n'ont
qu'à regarder un téléfilm qui va passer
sur Antenne 2 vers le mois de Janvier 90 et qui s'appelle "Fleur Bleu"
et je
croit que le nom de l'épisode que c'est "Certain l'aime
slow." Remarquez vous
pouvez bien vous grater pour que je vous dise que c'est moi qui a un
this-cheurte noir dans un premier temps et une cheu-mhize verte
à petit pois
dans les scènes du self-service et que je suis le plu bo...
Ouais, je sais, le
scénar est pas géant mais on fait ce qu'on peut pour se
faire voir...
Eh, c'est pas que je
m'emmerde mais si on passait o dé plom b'age...
On va commencer par les
compliments pour la boite:
- Bravo les mecs votre plombage est
dément...
- Et puis le jeu a l'air pas trop mal non
plus...
- C'est tout parce que ça me fait mal
au coeur de faire de la lèche...
Pourquoi le plombage est-il
dément??? Parce que quand on a acheté le
soft et que je l'ai testé chez moi, j'ai appelé LCKD pour
lui annoncer la
mauvaise nouvelle : le soft n'etait pas plombé...
Mais en
réfléchissant je me suis demandé pourquoi un si bo
soft n'était
pas protégé... Et puis je me suis interpelé
intérieurement pour me rappeler que
dans les jeux d'aventure, la protection est bien dissimulée...
Eh ben
finalemant, il l'était... J'étais donc maudi par tous les
dieux de la
couscoussiere, et cela jusqu'à ma quatrième
génération...
En tout cas, la protec' est
super bien dissimulée... elle consiste en
fait à empecher la sauvegarde d'un personage sur une copie non
déplombée... Et
quand on n'est pas un grand joueur comme moi, c'est pas le genre de
truc qu'on
remarque...
Quelle est donc la chose qui
m'a mis sur la voie de la protection?
Tout simplement une erreur grossière qui m'a tout de suite
sauter à la gorge
tel un beauf tondant son jardin pendant que sa femme mange sa banane...
Le boot de l'original dure
25 secondes alors que celui d'une copie en
dure 27... Bizarre me suis-je alors dis tel l'aviateur qui, consultant
son plan
de vol, se rend compte qu'il a oublié de sortir son chien alors
que la lune
etait pleine le 24 Dec 1235... Merde...
En fait, je ne me suis pas
amusé à compter combien de temps durait le
boot mais il y a un moment où le drive tourne dans le vide
pendant 2 secondes
qui sont hélas suffisantes pour me faire remarquer que c'est pas
normal meme
que...
Si le drive tourne dans le
vide c'est parce qu'il cherche une suite de
nibbles qui ne sont plus sur une copie... Et comme les types qui ont
fait cette
protec' ont admis que le drive pouvait faire quelques erreurs, ils
continuent
en cas d'échec à rechercher cette suite une bonne
vingtaine de fois... d'où 20
essais pour une copie contre au maximum 3 essais sur un original...
Fatal Error.
Le déplombage va donc
se faire en trois temps :
1er acte : On
recherche la protection en mémoire.
2me round : On trouve
ce qu'il faut modifier en mémoire.
3me partie : On modifie sur
le disque.
On va commencer, comme
d'habitude, par Boot-Tracer tout ça...
]CALL-151
*1600<C600.C700M
*16F8:4C 59 FF
*1600G
Et lorsque l'on regarde en
$801, on remarque en $831, un JMP $C61... on
va donc le shunter pour voir ce qui s'y passe...
*16F8:A9 0 8D 31 8 4C 1 8
*1600G
Bon, on regarde en $C61 et
on remarque en $C8E un JSR $9C00, et quand
on regarde en $9C00, on aperçoit telle Mme Guettotrou, sage
femme à la clinique
de Sainte Valmonde, qu'en $9CC4 il y a cette routine :
$9CC4- LDY #$00 Cette
routine décode de $9E00 à 9EFF en employant
$9CC6-
TYA
la méthode suivante :
EOR $9E00,Y
STA
$9E00,Y Octet 9E00 : EOR #$00
INY
Octet 9E01 : EOR #$01
BNE
$9CC6 Et ainsi de suite...
JSR
$9E00 Là, on saute à
la vérif'
ROR
$0FFF Ceci permet de sauvegarder la
retenue
LDY #$00
$9CD8-
TYA
Et la on détruit la vérif', histoire
STA
$9E00,Y de ne pas laisser de traces...
INY
Clean, non ???
BNE $9CD8
RTS
Bon, alors je ne voudrais
pas dire que je suis soupe-sot-neux mais
quand je vois un décodage, un JSR, un truc qui gère la
retenue et une
destruction, je me dis très vite que la vérif' n'est pas
loin... Et en effet,
en $9E00, on apppppppperçoit ceci... (Apres l'avoir
décodé bien zur !!!)
$9E00- LDA #$05
La suite immédiate
n'étant pas très importante, j'abrège un peu...
Je dois juste vous dire
qu'on a 0 dans Y...
$9E21- JSR $9EC1 Lecture d'un
NIBBLE.
INY
BNE $9E2F
INC $9ECF
BNE $9E2F
JMP $9EBF
$9E2F- CMP #$D5 D5
BNE $9E21
JSR $9EC1
CMP
#$AA AA
BNE $9E2F
JSR $9EC1
CMP
#$BB BB ---> Ah bon
???
BNE $9E2F
$9EBF- SEC
RTS
$9EC1- LDA $C08C,X
BPL $9EC1
RTS
Donc, en gros s'il ne trouve
pas la suite D5 AA BB, il rend la main
avec la retenue à 1... sinon, il fait toute une suite de trucs
inutiles en ce
qui concerne le déplombage et rend la main avec la retenue
à 0... Il y a donc
deux solutions pour déplomber ce soft :
Une, classe mais pas clean...
Une autre, bestiale mais
clean à l'éxécution...
En fait, soit on remplace le
SEC de la vérif par un CLC, soit 1 octet
de modifié; mais dans ce cas la vérif'
s'éxécute et il y a donc une perte de
temps au boot... Beurk !!! On peut donc aussi remplacer le JSR $9E00
par un CLC
NOP NOP... Trois octets, mais un boot plus rapide que l'original...
Clean!!!
Pour la première
solution, il faut se creuser un peu la tete :
On se rappelle du codage???
Ok, alors le SEC étant en $9EBF, on a un
EOR #$BF... Alors on va repérer la chaine de cinq octets qui
l'entoure :
$9EBA- F0
03 BEQ $9EBF
4C 1C
9E JMP $9E1C
38
SEC
60
RTS
On va donc coder la chaine
de cette façon :
$9EBA- F0 03 4C 1C 9E 38 60
EOR: BA BB BC BD BE BF C0
= 4A B8 F0 A1 20 87 A0
Alors on la chercher et on
la trouve en piste $1E secteur $1 et on est
content et on va pouvoir la modifier en mettant un CLC à la
place du SEC et on
fait comme ça : on prend la valeur 18 (CLC) et on fait un eor
#$BF dessus ce
qui donne A7 et on le met à la place du 87
C'est-à-dire P$1E,S$01,O$BF : A7
Et crack, ça
marche... Et puis si vous etes impatient de jouer, vous
rechercher le 20 00 9E et que vous en trouvez un en piste 1E secteur 3
et que
vous le remplacer par un 18 EA EA :
C'est-à-dire P$1E,S$03,O$D0 : 18 EA EA
Ah que voila que c'est fait
et que je suis content... et que je laisse
la place au TJS pour son mégafix qu'il est bo...
Allez, lance toi coco !!!
A bientot...
Olt.
==============================================================================
^
!----------- Eh! pourquoi t'as fait cette ligne de =, Olt., c'est de la
ségrégation raciale entre le crack et le fix, non mais!!!
Et enfin le giga-fix de
Might and Magic book two par The Master Fixer
(cf. Starfix 6), càd moi-meme The Jokersoft! Mais il faut quand
meme que je
vous rappelle quelque chose avant de lire ces octets magiques, ah que,
un fix
de ce type ne sert ABSOLUMENT A RIEN car il retire tout interet
à l'aventure.
Utilisez donc lees octets à bon essien, ah que, vous verrez que
ce sera aussi
beaucoup plus cool. Autre chose avant de partir dans le détail
détaillé du fix,
ce genre de fix est réalisable par n'importe quel individu qui
agit avec
méthode et temps...
Rem : un signe /
correspondant à un octet sans effet sur le fix.
$00 : Numéro du personnage dans le classement
$01 : Condition
(01 = existing / 00 =
deleted)
$02-0B : Nom du personnage sur 10 lettres
$0C : Sexe
(00 = male / 01 =
female)
$0D : /
$0E : Catégorie
(Human - Elf - Dwarf -
Gnome - Half-Orc)
$0F : Métier
(Knight - Paladin -
Archer - Cleric - Sorcerer - Robber - Ninja -
Barbarian)
$10-1D : /
$1E : Thievery (max 100%)
$1F : /
$20-21 : Hp Max (Hit Points Max)
$22 : Mgt (Might)
$23 : Spd (Speed)
$24 : Acy (Accurancy)
$25 : /
$26 : Level
$27 : SL (Speel Level)
$28-29 : Sp Act (Speel Points)
$2A : End (Endurance)
$2B : Int (Intellect)
$2C : Per (Personality)
$2D : Luc (Luck)
$2E : /
$2F : Age
$30 : /
$31-34 : Exp (Experience)
$35 : /
$36-37 : Sp Max (Speel Points)
$38-39 : Gems (max 100)
$3A-3B : Hp Act (Hit Points)
$3C : Situation
(Good - Neutral - Evil
- None)
$3D : /
$3E-40 : Gold (max 1000)
$41 : AC (Armor Class)
$42 : Food (max 40)
$43 : Cond (Current condition)
$44 : /
$45-4A : Equipped
(Small Club - Small
Knife - Large Club - Dagger - Large Knife - Hand
Axe - Speel Book)
$4B-50 : Backpack
(Small Club - Small
Knife - Large Club - Dagger - Large Knife - Hand
Axe - Speel Book)
Après, je ne sais
pas, je n'ai pas cherché, je pense que cela suffit!
Cela fait 96 spells, 48 clericals, 48 sorcerers et 9 levels.
_MIGHT_AND_MAGIC_2________________________________OLIVER_TWIST_+_THE_JOKERSOFT_
Retour sommaire
Neuromancer (1).
+-----------------------------------------------------------------------------+
!
!
! NEUROMANCER (C)
INTERPLAY
CODE : SEEK & DESTROY ! by Loockheed !
!
!
+-----------------------------------------------------------------------------+
______________
!
!
! PRELIMINAIRE !
!______________!
Ce soft utilise la bank auxiliaire (déjà au mot "bank" ca
va pas fort mais bank
auxiliaire ça c'est plus fort que le roquefort ! (Allo?)). Pas
de panique.
Qu'est ce qu'une bank? Bon vous savez tous que le processeur 6502
(qu'on
retrouve meme sur des flippers) ne peut adresser que 64ko. On vous a
dit quand
vous avez achete votre 2e que vous aviez 64ko de RAM (Random Access
Memory),
mémoire vive en patois basque.
Réfléchissons... (Pas trop quand meme! ho l'autre, prise
de tete!)
Mémoire $0000 à $BFFF c'est que de la bonne vieille RAM
$C000 à $C100 c'est
l'emplacement des entrées/sorties
$C100 à $FFFF c'est
que de la ROM (Read Only Memory), mémoire
morte
en patois auvergnat.
Mais alors $0000 à $BFFF ca fait que 48k de RAM
çà! Crevindiou, on ne se serait
pas fait avoir quelque part ? Non qu'on se rassure dans les
chaumières, il
existe la BANK...
En fait il y en a deux (banks, bande de petit vicelard). La bank 1 et
la bank
2. Elles sont situées dans la portion de mémoire
$D000-$FFFF où se trouve la
ROM BASIC et la ROM MONITOR. Mais comment avoir de la RAM où se
trouve par
définition de la ROM? On va commuter des banks (= espace
mémoire de RAM).
Comment? par des commutateurs logiques (comme ceux que vous utilisez
pour
commuter la page HIRES, TEXT, etc...).
Problème : il y a deux banks.
L'une occupe tout l'espace
$D000-$FFFF.
(BANK 1)
L'autre occupe tout l'espace
$D000-$DFFF.
(BANK 2)
Problème : que devient la portion de mémoire $E000-FFFF
quand j'ai commuté la
BANK 2?
L'espace $E000-$FFFF restera en BANK 1 donc pour bien comprendre voici
un
schéma des trois cas possibles :
1er
cas
2ème
cas
3ème cas
________
_________
________
!
!
!
!
! !
$D000 !
ROM ! $D000
! !
$D000 ! BANK !
! BASIC !
! B
!
! 2 !
!
!
! A
! !________!
$E000
! +
!
! N ! $E000
! !
!
!
! K
! !
B !
! ROM
!
!
! !
A !
$F000 !MONITOR
!
! 1
! !
N !
!
!
!
!
! K 1 !
!________!
!_________!
!________!
$FFFF
$FFFF
$FFFF
Comment obtenir l'un des trois cas?
1er cas : le plus simple. Quand vous ètes tapé un prog
zicba c'est cette ROM
qui est en action car c'est elle qui gère le basic! Mème
chose quand vous tapez
une routine en langage machine (Là ce sont les routines MONITOR
qui s'occupent
de vous! ). Pour revenir en ROM le commutateur est $C081 (ou $C082..)
2eme cas : Commutation de la BANK No 1 : Actionnez deux fois le
commutateur
$C083.
3ème cas : Commutation de la BANK No 2 : Actionnez deux fois le
commutateur
$C08B.
En résumé : BIT $C081
; remet la ROM en route apres utilisation des banks
BIT $C083
BIT $C083 ; Met la BANK 1 en piste!
BIT $C08B
BIT $C08B ; Met la BANK 2 en piste! (+ bank 1 de $E000-$FFFF)
Problème : comment zieutez ce qui se passe dans une BANK en
accès direct?
Tapez :
]CALL -151
*C081 C081 F800<F800.FFFFM C083 C083 ; pour
zieuter dans la BANK 1
*C081 C081 F800<F800.FFFFM C08B C08B ; pour
zieuter dans la BANK 2
Pratiquement tout le monde connait cette petite recette pour pouvoir
jeter un
p'tit coup d'oeil indiscret dans les banks. Je vais essayer de vous la
faire
comprendre...
Le fait de commuter deux fois le softswitch (mot barbare d'Outre-Manche
pour
les commutateurs logiques) $C081, fera lire l'ordinateur dans la ROM
mais oh!
magie le fera écrire dans la BANK 1.
F800<F800.FFFFM, c'est le bon vieux move. On va dire : "c'est
stupide de MOVER
$F800 EN $F800". Pas si stupide que ça en fait. En effet
rappelez vous : on lit
en ROM et on écrit en BANK 1. L'utilité de ce truc c'est
de recopier l'espace
$F800-$FFFF dans la RAM de la bank 1.
C083 C083 : Commute la bank 1
Question : Pourquoi a-t'on recopier (partiellement) la ROM dans la bank
1?
De $F800 à $FFFF se trouvent toutes les routines qui vous
permettent de
désassembler, d'entrer des caractères a l'écran
etc.... Si vous aviez
directement commuter la bank, l'ordinateur se serait "planter".
Question : Qu'est ce que ca fait si je commute la BANK 2
puisqu'apparemment la
ROM n'a été recopiée que dans la BANK 1?
Réfléchissez : L'espace $E000-$FFFF est
préservé quand vous passez en BANK 2
donc $F800-$FFFF n'est pas touché! On peut donc passer d'une
bank à l'autre
sans s'emmerder profondément!
INCONVENIENT : Le fait de recopier la ROM détruit l'espace
$F800-$FFFF alors si
le plombeur avait planqué sa VERIF, ici on l'aurait dans le ....
(NB : Test
Drive y contient une partie de son boot!) pour regarder ce qu'il y a
à cet
endroit on va faire un petit move que je vous enjoins d'étudier.
BUT : MOVER LA RAM $F800-$FFFF POUR POUVOIR LA MATER A DISCRETION.
300 : 2C 83 C0 BIT $C083
303 : 2C 83 C0 BIT
$C083 ; actionne la BANK 1
306 : A0 00 LDY #$00
308 : B9 00 F8 LDA $F800,Y
30B : 99 00 48 STA
$4800,Y ; on va mover 0 partir de $4800.
30E : C8 INY
30F : D0 F7 BNE $308
311 : EE 09 03 INC $309
314 : EE 0C 03 INC $30D
317 : AD 09 03 LDA $309
31A : D0 EA BNE $308
31C : 2C 81 C0 BIT
$C081 ; Remet la ROM en route..
31F : 60
RTS
; fin des emmerdes...
*300G
On pourra donc tranquillement désassembler à partir de
$4800 (en ayant à
l'esprit que la routine était initialement en $F800!)
Il existe d'autres commutateurs que $C081 $C083 $C08B pour manipuler
les banks
mais ce sont les plus importants...
Maintenant la BANK AUXILIAIRE (AGAGAGA!!)
Bon! Sans rire, c'est super simple si vous avez tout compris avant
(avec ma
pédagogie digne de mon prof de français ... Hum!!! )
En fait c'est la meme chose sauf qu'il y a un commutateur en plus a
switcher.
$C008 : met en piste la page zéro + la pile + les banks de
la mem principale.
$C009 : " " "
" " " "
" " "
" " " auxiliaire.
Une fois que vous avez choisi l'un des commutateurs vous pouvez faire
ce que
vous voulez de ce qui a été dit plus haut. Ha j'oubliais
ces deux commutateurs
se switchent par une action de STOCKAGE ( STA, STY, STX ... ET C009:00
en mode
direct)
QUESTION : Comment zieutez ce qui se passe en bank auxiliaire en
accès direct?
(car quand
je fais un C009 : 00 en mode direct ça plante!)
REPONSE : D'abord pourquoi ça plante? Vous avez commuter
la bank auxiliaire
mais aussi
la page 0 et la pile. Or la pile et la page zero servent
beaucoup au programme de la ROM si vous changez brusquement de pile
tous les
RTS qui sont fait en ROM ne retrouveront plus les valeurs qui avaient
été
stocké auparavant dans la mémoire principale! Je vais
donc employer une ruse
folle :
Tapez 300: 8D 09 C0 ; Bank
auxiliaire
303: 4C 59
FF ; BREAK
MONITOR.
(Tm) LOOCKHEED 1988
*300G
Cà y est vous pouvez maintenant zieutez dans les banks
auxiliaires en exécutant
* C081 C081 F800<F800.FFFFM C083 C083 ; Pour la bank
auxiliaire No 1
* C081 C081 F800<F800.FFFFM C08B C08B ; Pour la bank
auxiliaire No 2
Mon crack de THE LAST NINJA n'aurait pas pu etre fait si je n'avais pas
connu
parfaitement les rouages de ces banks aux/main!
Si vous avez compris quelque chose vous avez de la chance...
_________________
!
!
! LE VIF DU SUJET !
!_________________!
+---------------------------------+
!I. Pourquoi une protection CODE ?!
+---------------------------------+
Quand la protection est sur disk, elle se trouve toujours au BOOT.
(Avantage
pour les déplombeurs qui savent un peu tracer à partir de
$C600) donc elle ne
présente pas beaucoup de difficulté pour ce qui est de la
découvrir.
La protection par code, elle, est plus vicelarde car elle est
intégrée au
programme et on ne sait pas trop ou partir pour tracer (à moins
qu'il y ait des
fous pour décortiquer tout le soft!). De plus, elle n'a pas de
"gueule"
caractéristique (on peut demander des codes de 400 façons
en assembleur), la
protection disk a une carte de visite : le LDA $C08C,X.
+------------------------+
! CODE : SEEK & DESTROY! !
+------------------------+
Première chose
à savoir : le moment ou le jeu demande les codes.
Pour NEUROMANCER, les codes sont demandés quand on veut acceder
au PAX (un truc
indispensable au jeu!). Cette fonction est accessible par le tableau de
bord
par une action joystick ou par un ctrl-P (si je me rappelle bien...).
Ensuite : Trouver une action
précise ou l'on pourra commencer à tracer.
Là on se dit facile : cherchons l'endroit ou se fait le CTRL-P,
c'est-à-dire un
CMP code ASCII de P en assembleur (C9 "P"). On prend un scanner
d'octets, et
pan dans le flan, la j'ai rien trouver d'interessant...( ca rime en +).
La seule et unique façon de demander une touche en assembleur
est d'utiliser le
softswitch $C000. Je vais chercher tous les $C000 qu'il y a sur le
disk. Après
quelque recherche je découvre une routine qui m'a l'air d'etre
le noyau des
différentes demandes de touche + joystick.
Cette routine a deux entrées (qui à mon avis servent
à différencier une bète
attente de touche et une demande de caractère avec écho a
l'écran... Cet avis
n'engage que moi car je n'ai pas décortiqué la routine,
feignant que je suis!).
La premiére entrée est en $E802. Chance, c'est celle la
qui m'intéresse. J'ai
trouvé gràce à ça que $DD48 était la
routine qui gère les touches du tableau de
bord.
COMMENT ? Simple...
J'ai scanné des JSR $E802 j'en ai trouvé pas mal et
aprés chaque JSR $E802, je
mettais un BIT $C0E9 pour allumer le drive, histoire de voir si le soft
allait
bien à cet endroit là... (Remplacez en piste $1A, secteur
$08, octet $48, le 20
02 E8 par un 2C 09 C0 et vous verrez qu'au tableau de bord, le drive
s'allumera
et que vous ne pourrez plus appeler de fonction...!)
Donc Cool, j'ai un point de départ pour tracer... Suivez moi
dans le royaume
des opcodes...
DD48: JSR
$E802 ; Saut
à la routine dont je parlais ci-dessuus.
de $DD4B à $DD76, rien d'interessant!
DD71: BNE $DD7B
_ ; Si y'a pas eu de
touche frappée, va en $DD7B
DD73: JSR $DEB0 !
DD76: INC $3B !
DD78: JMP $DDC7 ! -----> JMP
INTERESSANT!
DD7B: ..... <-+
Voilà un JMP intéressant! J'ai trouvé (Instinct de
déplombeur?, Coup de Moule?,
choisissez !) que si avant cette routine, on mettait une valeur de X de
0 à 5,
le tableau de bord faisait l'une des 5 fonctions!). Pour bien
comprendre,
modifiez sur UNE COPIE (!!!!) le BNE en DD71 (qui est en piste $1A,
secteur
$08, octet $71), mettez un D0 00 et a la place de INC $3B, mettez un
LDX 0 à 5,
(A2 <00 à 5>) ainsi vous verrez que la fonction dont le
chiffre est dans X-reg
se mettre directement en action!
Je sais maintenant : - où le soft va pour demander une touche,
- comment avoir une fonction qui m'intéresse.
Je sais que X-reg=3 quand le PAX est demandé!
JMP $DDC7; allons y !
$DDC5: LDX
#$FF ; Le programmeur met une valeur de
X-reg qui ne soit
; pas entre 0 et 5, je vous mets juste ca avant
; $DDC7 car le programme continue de toute façon en
; $DDC7 meme si une touche n'a pas été frappée.
$DDC7
TXA ; en
fait c'est ce transfert de X dans A qui m'a mis
; la pute sur l'oreiller (Allo?), la puce à
; l'oreille
Après il y a une série de comparaison qui vont m'amener
à la conclusion
suivante :
Cette routine se termine de deux façons :
DE0C:
CLC
DE0E: SEC ; si rien ne s'est
passé
DE0D:
RTS
DE0F: RTS
!
____!
!_
!_> Si une touche correspondant
a une fonction a été frappée
En regardant un peu avant DE0C ( quand une touche a été
frappée ), on remarque
que la suite d'instruction LDY #$06
JSR $E723
JSR $DE11 est répétée 3 fois.
3 fois, 3 fois ???!!! Mais oui, comme les clignotements inverse du
tableau de
bord (qui sont au nombre de trois!)
Donc je suis sur d'etre sur la bonne voie...!
A SUIVRE! FICHIER : NEUROMANCER
(2)
LOOCKHEED
Retour sommaire
Neuromancer (2).
mais...
merde..
daube..
shit..
Elle se termine par un RTS comment savoir où elle va en suite?
^^^^^^^
Astuuuuuuuce!
_____________________
!
!
parenthèse
: !
QUE FAIT UN RTS ? !
!_____________________!
Il prend les deux valeurs en haut de la pile qui avait
été sauvé auparavant par
le JSR et il saute à l'adresse + 1 indiquée par ces deux
valeurs. comprendo?
Pour savoir où va ce RTS, il me suffit de détourner la
routine sur un programme
à moi qui récuperera les deux valeurs en haut de la pile
et le tour ist
gespielt....
Valeur en haut de la pile : Adresse basse -1
Valeur qui
suit :
Adresse haute
( PLA )
( STA $06) Ca donnera une routine de ce
genre la pour récupérer l'adresse
( INC $06)
( PLA ) en $06 et $07!
( STA $07)
(TM) LOOCKHEED 1989
Refermons la parenthèse.... Ca y est, c'est fermé... Go
forward...
Cette astuce folle me permet de continuer mon traçage a partir
de $F5D0
F5D0 : JSR
$DD48 ; Routine de toute à l'heure
!
F5D3 : BCC
$F5D8 : (excusez l'adressage relatif..!)
F5D5 : JMP
$F58A ; Celui là, on s'en balance..
F5D8 : RTS
Le BCC en $F5D8 est super décisif... En effet, rappellez vous
comment se
terminait la routine en $DD48 si une touche avait été
frappée :
CLC
->>>> ANNULE LA RETENUE !!!
RETENUE = 0!
RTS
Le BCC est une instruction de branchement qui va à l'adresse
indiquée si la
retenue est égale à 0.
En résumé, si une touche a été
frappée, exécute le RTS en $F5D8, facile non?
Sans oublier que l'on a dans l'accumulateur le no de l'action à
exécuter!
Le RTS ne nous arrétant plus, tel le preux chevalier du
moyen-age sauvant sa
princesse du méchant BaronNnoir survolant Paris par une nuit de
pleine
lune..!????, CONTINUONS!!>>>.....
En cherchant où va le RTS en $F5D8, on se rend compte qu'on
atterit sur une
routine très intéressante (Qui est je pense la boucle
principale du programme)
dont voici les grandes lignes :
F542: JSR $F58A ; la valeur de l'accumulateur
est importante
F545: STA $F565 ; on la sauve + loin
F548: TAY
F549: ASL :
*2
F54A: TAX ;
transfert dans un registre index
F54B: LDA $F57A,X ; pour pouvoir donner
F54E: STA $F55F ; une adresse précise
F551: LDA $F57B,X ; au JSR EN $F55E !
F554: STA $F560 ; Conclusion : selon
l'accumulateur fait une action
F557: CPY #$05 ; précise...
F559: BEQ $F55E
F55B: JSR $DED3
F55E: JSR $FFFF
...etc...
F577: JMP $F542 (Début de la routine!)
Le JSR EN $F55E est donc super décisif (je pense que la routine
ci-dessus
montre que ce jeu est en fait un C, ou un basic barbare compilé
ou tout
simplement du PASCAL mais supposition... ) quand on demande le PAX, on
trouve :
F55E : JSR $F6B0
So, on va en $F6B0 où on tombe sur un JSR $7400 qui m'a
l'air d'etre
le commencement de l'affichage.. (Question , affichage GIGA de
PAX, etc..)
Là va commencer la tactique
"
MERDONS-LE-JEU-A-DES-ENDROITS-POUR-SAVOIR-QUAND-IL-DEMANDE-LES-CODES!
"
En pratique on fout des merdes (par exemple des BRK (HEX 00)) pour
savoir
exactement où se situe la routine qui demande les codes. Cette
tactique m'a
fait trouver que le JSR $74F8 (situé en $744C ) était
à remplacer, soit par 3
NOP, soit par un BIT $74F8 (BREF POUR PAS QU'IL S'EXECUTE!)
CRACKED..... (ET CE FUT CHIANT..... !)
DES HEURES DE RECHERCHE POUR MODIFIER UN 4C EN 2C on est peu de
chose...
LOOCKHEED.
Retour sommaire
Neuromancer (3).
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
°
The Almost Complete Fix for
Neuromancer
°
°
By the master of the
Fractals
°
°
°
°
****** PERFECT BUGS
******
°
°
***
FROM
***
°
°
**** THE $FF59 CONNECTION
****
°
°
*****
*****
°
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Hello everybody. Neuromancer est un jeu assez génial mais un peu
dur, il faut
bien le reconnaitre. Avant de voir le monde des données en 3D (
'La Matrice' ),
bien des joueurs auront laissé tomber. Pour vous aider un peu,
voici le Fix
presque complet de ce giga-jeu.
Primo, il faut savoir que vous avez le fric que vous trimballez sur
vous, plus
celui déposé à la banque. D'autre part, quand vous
réussissez à avoir un
logiciel que vous mettez dans votre terminal (au début du jeu un
terminal assez
minable qui crame à la première occasion), celui-ci est
affecté d'un numéro de
série. Plus ce numéro est élevé, plus
puissant est le soft (c'est comme
Locksmith !!!). Enfin, pas de skills comme dans les autres jeux de
role, mais
des skillchips que vous achetez et que vous vous implantez dans le
crane.
Chaque skillchip est affecté d'un niveau.
Une autre petite chose à savoir : j'ai constaté que la
place du secteur de
sauvegarde évoluait dans le jeu (dans les pistes 5 et 6
généralement). Comme il
y a de plus 4 jeux sauvés, ce serait un peu trop bordelique de
tout donner.
Donc, je ne vous donne que les données spécifiques au Jeu
Sauvé N°1, et ce au
début du jeu (Bootez Neuromancer, faites New Game, puis
sauvegarder sous le
numéro 1).
Les données concernant le matos, le fric et les skillchips
implantés sont Piste
$5, Secteur $5 :
- Octets D2 à D4 : Fric transporté (attention,
codé en Hexa avec octet de plus
faible poids en premier. Exemple : 2000 crédits, 07D0 en Hexa
est codé ainsi
D2: D0 07 00. Pigé ?)
- Octets D5 à D7 : Fric déposé à la
banque.
- Octets A8 à B7 : Normalement, on a $FF, ce qui veyt dire
que l'on a aucun
chip. Tout octet différent de $FF correspond à un chip
donné de niveau Octet +
1 (C'est-à-dire que si l'on a un 01, le niveau est 02).
A8 : Bargaining
(43) A9 :
Coptalk (44)
AA : Software Analysis
(45) AB :
Debug (46)
AC : Hardware Repair
(47) AD :
ICE Breaking (48)
AE :
Evasion
(49) AF :
Cryptology (4A)
B0 :
Japanese
(4B) B1 :
Logic (4C)
B2 : Psychoanalysis
(4D) B3 :
Phenomenology (4E)
B4 : Philosophy
(4F) B5 :
Sophistry (50)
B6 :
Zen
(51) B7 :
Musicianship (52)
Les numéros indiqués entre parenthéses
correspondent au code affecté à chaque
Chip quand il n'est pas encore implanté et que vous le
transportez dans votre
matos (voir plus loin). Attention, aucun Chip ne doit avoir de niveau
supérieur
à 4 excepté pour les Chip Logic, Psychoanalysis,
Phenomenology, Philosophy et
Sophistry (utilisés contre les Artificial Intelligence) de
niveau maximal 12.
Votre matos est codé à partir de l'octet $28. Quand vous
ètes à vide, il n'y a
que des $FF espacés de 3 octets (octets dont je n'ai pas encore
vu l'utilité).
Remplacez les $FF par les octets correspondant à votre matos :
Tout ces noms correspondent à des terminaux :
1D:Hiki Gaeru
1E:Gaijin
1F:Bushido
20:Edokko 21:Katana
22:Tofu
23:Shogun
24:188BJB
25:350SL 28:UXB
2A:ZXB
2B:Cyberspace II 2C:Cyberspace III 2D:Cyberspace VII
2F:Ninja
2000 30:Ninja 3000 31:Ninja
4000 32:Ninja 5000
33:Blue Light 34:Samurai Seven
Et maintenant le matos 'normal':
Codes $43 à $52 : Chips dont les codes sont indiqués
au-dessus.
53:CyberEyes 56:Guest Pass
59:Joystick 5E:Caviar
5F:Pawn Ticket 60:Security Pass 61:Zion
Ticket 62:Freeside ticket
64:Chiba Ticket 65:Gas mask 67:Sake
Ca, c'était votre matos. Les logiciels sont
téléchargés dans les différentes
banques de données que vous arrivez à craquer. Ces
logiciels sont répertoriés
de la mème manière que le matos en Piste $5 Secteur $4,
la liste commençant à
l'octet $02. Remplacez les $FF par les codes des logiciels
correspondants. Le
numéro de série du logiciel est indiqué juste
après. Ainsi 0A 06 correspond au
logiciel ComLink 6.0 (Le 6.0 est le seul soft à permettre
d'accéder au
Cyberspace hormis le logiciel Cyberspace et le Vaccine). Comme j'ai
fini le
jeu, je vous indique la fonction de chaque logiciel, tout au moins ceux
que
j'ai pu expérimenter.
00:Mimic
Programme qui vous permet de contourner certaines ICE
01:Jammies
Programme qui bloque pour un temps l'ICE
02:ThunderHead Virus qui bousille l'ICE
03:Vaccine
Programme de communication
04:Blammo
Programme piège qui ne sert à rien
05:DoorStop ICE
breaking Software
06:Decoder
' ' ' ' ' ' '
07:Sequencer Soft dont j'ai
pas encore vu l'utilité
08:ArmorAll Programme
qui reconstitue votre bouclier. Attention
cependant à ne pas l'utiliser s'il est d'un numéro de
série trop élevé, car le
temps que votre bouclier se reconstitue vous ètes touché.
09:KGB
Vous amène directement à la base de données du KGB
(Gaffe,
il y a une AI dedans).
0A:ComLink
Programme de communication
0B:BlowTorch ICE breaking
Software
0C:Probe
Renvoie des informations sur la solidité de l'ICE et la
présence éventuelle d'un AI
0D:Drill
ICE breaking Software
0E:Hammer
' ' ' ' ' ' '
0F:Python
Virus très puissant
10:Acid
Virus
11:Injector Virus
12:DepthCharge ICE breaking Software
13:Concrete ICE
breaking Software
14:EasyRider La Matrice est
divisée en 8 zones accessibles uniquement
par un jack donné. Avec ce soft, vous pouvez vous balladez dans
n'importe
quelle zone à partir de n'importe quelle prise.
15:LogicBomb ICE breaking
Software
16:CyberSpace Programme de
communication
17:Slow
Programme qui ralentit les réactions de l'ICE
18:BattleChess Le premier un vrai jeu
d'échec (enfin, 'vrai'...)
19:BattleChess Soft qui permet de passer
une AI particulière sans
combattre
1A:Scout
Programme d'information. Jamais pu l'utiliser.
1B:Hemlock ! Ces deux
softs sont réservés à deux AI. Le premier est
1C:Kuang Eleven ! réservé à
Greystoke, le second à Neuromancer.
Pour les ignares, AI est l'abrévation de Artificial
Intelligence. Quand à
l'ICE, c'est l'ensemble des systèmes de protection d'une base de
données.
Je vous laisse vous dépatouiller avec tout ça. Ce qu'il
faut savoir, c'est que
vous ne pourrez comprendre l'histoire sans jouer normalement (avec du
fric et
des Chips boostés quand mème). Je précise que ce
soft est tiré d'un livre de
William Gibson, Neuromancer (Neuromancien en français), bouquin
absolument
génial. Un truc marrant au passage : Dans la traduction, ICE est
devenu GLACE
(logique me direz vous...), abréviation de
'Générateur de logiciels
anti-intrusion par contre-mesures electroniques' !!! Dommage que je
n'ai pas
l'abréviation de ICE.
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
That's all Folks !!!
°°°°°°°°°°°°
Retour sommaire
Platoon.
_____________________________________________________________________________
!
!
! PLATOON (C) 1987 Data
East/Ocean Cracked by THE
JOKERSOFT - 5/12/88 !
!_____________________________________________File : THE
JOKERSOFT_-_21/ 1/89_!
PLATOON est un jeu d'arcade en DHGR rapide et beau, ce qui
est très étonnant
de la part de Data East surtout lorsque l'on a vu Commando, Ikari
Warriors qui
sont de la meme boite d'édition.
La protection n'est par ailleurs pas la meme que dans les
deux jeux cités
précedemment, mais sa difficulté n'est toujours pas bien
haute!
La premiére étape consiste à
vérifier avec quel copieur, Platoon est-il
copiable? La réponse, vous l'avez dit des centaines de fois dans
votre vie :
c'est Locksmith 6.0.
La deuxième étape consiste à
constater si le soft était plombé, lorsque l'on
voit un original copiable au Locksmith, on est pret à tout
voir... Et, en effet
le soft reboote à l'infini dans le drive. On peut
déjà se dire que si le type
qui a fait la protection est très bete, il y aura un JMP $C600
(<=> PR#6) dans
son programme, il va s'avérer que cela est vrai!!!
La troisième étape consiste à
"boot-tracer" le soft :
]CALL-151
*1600<C600.C700M
*16F8:4C 59 FF
*1600G
Remarque : lors du faux-reboot que l'on vient d'appliquer,
le temps de
chargement du boot 1 a été plus long que la normale,
tiens bizarre!
On zieute un peu la valeur en $800 (qui correspond au
nombre de secteurs
chargés lors du boot 1) et on lit 03 alors que dans 95% des cas,
on lit 01.
Il a donc lu 3 secteurs qui sont mis en mémoire de $800 à
$AFF.
Si on lit le boot 1, on constate tout de suite en $801 un
JMP $A00. On
saute naturellement en $A00, et là (oh! comble du miracle!) on
tombe sur une
routine qui va etre la protection de Platoon : elle lit des nibbles qui
sont
bien entendus changés si c'est une copie, puis les comparent
avec les vraies
valeurs que contiennent l'original.
Analysons un peu cette routine pour comprendre où
le programmeur veut en
venir : on remarque rapidement qu'il fait 3 tests d'octets qui sont les
memes
A08:Rt LDA machin
STA case
Read1 LDY $C08C,X
BPL Read1
CPY Val
BNE Rt
BEQ Read2
Read2 idem...
Read3 idem... (sauf que le
registre testé n'est plus Y mais A)
puis la sortie de cette routine, est-ce une affreuse copie ou
l'original?
A46: EOR #$FF
BEQ Good dsk ; Branch if EQual sur Good dsk
A4A:Bad dsk JMP $C600 ; et oui, il
est là!!! il est donc bete!!!
A4D:Good dsk LDA #$60 ; quelques
initialisations vérifiées ensuite :
STA $2B ; (A) 60->$2B
LDA #$09 ; (A) 09->$27
STA $27 ; ----
Init B0 LDA
#$01 ; stockages de bonnes valeurs
STA $800 ; dans le boot 1, pour
appliquer
LDA #$A5 ; un futur faux-reboot.
STA $801 ; donc :
LDA #$27 ; 800:01 A5 27 C9 09
STA $802 ; c'est-à-dire :
LDA #$C9 ;
800:01 => nb de sect. à
charger
STA $803 ; 801:A5
27 LDA #$27
LDA #$09 ; 803:C9
09 CMP $09 ; (tiens cf. Good dsk!)
STA $804 ; ----
JMP $801 ; faux-reboot
Voilà, on a tout décortiqué!!!
Maintenant on a trois façons de déplomber
Platoon.
1/ soit en $A4A on place 3 NOP (EA EA EA) au lieu de 4C 00 C6 (l'erreur
est
ici commise, mais va déboucher sur la routine de
stockage des valeurs),
2/ soit en $A48 on met un JMP $A4D (4C 4D 0A) pour que la copie soit
détectée
mais que le routine éxécute quand meme la
suite du boot,
3/ soit (et c'est la solution que j'ai employé) on met en $800
les valeurs que
met la routine de protection au boot 1 c'est-à-dire
: 01 A5 27 C9 09
Donc, en résumé, si on applique ces modifs sur le disk.
1/ P$0/E.4A : EA EA EA ou
2/ P$0/E.48 : 4C 4D 0A ou
3/ P$0/0.00 : 01 A5 27 C9 09
L'avantage de la troisième méthode est un
gain de temps au chargement, d'une
part car il n'y a plus qu'un secteur à charger au boot 1 et que
la lecture des
nibbles n'est pas faite.
Et maintenant, un petit fix : comment avoir des munitions
infinies :
P$5/E.89 : CE -> AD (case mémoire $FFBA) la valeur initiale
étant $10.
_PLATOON_________________________________________________________THE_JOKERSOFT_
Retour sommaire
Pool of Radiance.
/------------------------------------------------------------------------------
! Pool Of Radiance
V1.1
(C)1988 Strategic Simulations, Inc. !
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - !
! Broken by William COMTE (Mai
1989).
Distribué par The Brain Trust. !
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - !
! Documentation dans Dox a Gaz 6 &
7.
Gros bisous à Max a Gaz. !
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - !
! Fichier explicatif sur la
déprotection de P.O.R. pour
Crack-Ware. !
------------------------------------------------------------------------------/
Tout d'abord, le programme Pool Of Radiance utilise le
RDOS de R. Gustafsson
avec un "interleaving" de type Pascal ou ProDOS, aussi je conseille le
DiskFixer V4.1 pour modifier le programme (appuyer sur 'O'ption et
sélectionner
'U' ou 'P' pour le type de dos). Toutes réferences à un
secteur particulier
seront basées sur ce type d'interfoliation des secteurs.
La protection :
-------------
Il ne s'agit pas ici de protection disque (car l'on doit
jouer avec les
backups des 8 faces de P.O.R.) mais de la 'Roue de la Fortune'
(Translation
Wheel dans le texte). Elle apparait en deux points du programme :
- après la présentation, un mot de passe est
demandé. Deux essais possibles
sinon au revoir! Le programme s'arrete.
- pendant le jeu, des messages vous sont donnés en
Espruar (runes elfiques)
ou en Dethek (runes naines).
Il faut noter aussi que les descriptions importantes pour
le jeu, sont
données sous forme de chapitres à lire dans la
documentations. Je tiens à faire
ici de la publicité pour Max a Gaz et son équipe de
traducteurs qui ont déjà
traduit une partie de la doc dans Dox A Gaz 6 (la suite sera dans le 7).
Les mots de passe :
-----------------
Avant de pouvoir jouer, le programme vous demande un mot
de six lettres
déterminé par deux runes, une elfique et une naine; ces
mots sont :
- BEWARE - COPPER -
DRAGON - EFREET - FRIEND - JUNGLE
- KNIGHT - NOTNOW -
TEMPLE - VULCAN - WYVERN - ZOMBIE
Grace à un scanner d'octets, on retrouve la liste
complète et non codé de
ces mots en piste $12 secteur $5 (disk A face 1); ce secteur appartient
au
fichier INIT chargé à partir de $8A80 (P$11/S$A) et
s'arrète en $987F
(P$12/S$7). La routine de test est appelée en P$11/S$A/O$FD :
8B7D- 20 1B 96 JSR $961B
Elle commence juste après la table de mots
trouvé précedemment P$12/S$5/O$9B
961B- A2 15 LDX #$15
961D- A9 10 LDA #$10
961F- 20 D3 82 JSR $82D3
9922- ...
Les trois premières lignes ci-dessus chargent les
paramètres nécéssaires à
la routine situé en $82D3 (programme LIBRARY face 7) qui va
stocker à partir de
$800 le fichier CHARPIC10 qui contient les fontes des caractères
runiques
(à titre d'exemple, essayez d'intervertir les noms CHARSET et
CHARPIC10 dans
le catalogue de la face 1, P$01/S$5 et vous aurez une
présentation bien laide
certes mais en runique.); ce détail nous servira plus tard vous
verez. La
routine se poursuit avec la mise en place des paramètres et
l'affichage des
messages... et à la fin on trouve le test qui se termine par ou
bien une boucle
infinie :
9708- 4C 08 97 JMP $9708 (et le programme
plante!)
ou par un RTS classique :
96F2- 60
RTS (et le programme
continue)
Sans hésiter, on empèche le test : (P$11/S$5/O$FD)
8B7D- 20 1B 96 JSR $961B --> 4C 80 8B JMP
$8B80
8B80- ...
Et voilà la première version de P.O.R.
distribué par le Black Chest, mais
hélas en jouant je me suis aperçu que le programme
donnait parfois des mots
importants pour le joueur, sous forme runique...
Les messages runiques :
---------------------
Nous avons vu précedemment que le fichier CHARPIC10
contenait les runes, et
donc si ce fichier se trouve sur une face du jeu, c'est que cette face
contient des messages runiques. Ces faces sont : 1, 4, 5 et 7. Le
programme
qui les controle est le module DUNGEON (Face 2).
Deux solutions possibles :
1- réecrire le fichier CHARPIC10 avec des
caractères classiques.
2- modifier le programme pour que les messages soient
affichés normalement.
J'ai personnellement choisi la première solution
par flème de tracer tout
DUNGEON et d'éditer les modules ECL__ qui contiennent les fameux
messages. Je
vous donne ici le principe pour modifier CHARPIC10 :
1 - écrire un programme pour afficher les $80 (128)
caractéres de CHARPIC10
en page graphique; un caractères étant
constitués de 8 octets consécutifs
que l'on affiche l'un en dessous de l'autre.
2 - éditer la page graphique et remplacer les runes par des
caractères plus
lisibles.
3 - écrire le programme inverse du 1 - puis sauver l'objet
à la place de
CHARPIC10 sur les faces corespondantes (4, 5 et 7).
! pour les courageux qui voudraient tenter la deuxième methode,
voilà quelques
! indices :
!
! L' appel de CHARPIC10 se fait par la séquence 21 00 FF
00 10 00 FF que l' on
! retrouve en :
!
! Face Fichier Piste Secteur
! --------------------------------
! 4. ECL15
$0A $6
! 5. ECL03
$0B $5
! 5. ECL04
$0C $B
! "
"
$0D $0
! 7. ECL17
$09 $A
!
! Il faut alors éditer ces modules qui sont
interprétés par le programme
! DUNGEON et modifier le code des mots affichés et la routine d'
affichage;
! Bon courage! (si quelqu'un le fait j'aimerais y jeter un coup d'oeil!)
Voilà, vous pouvez désormais jouer
tranquillement à Pool Of Radiance (avec
les Dox A Gaz 6 & 7 bien sur!). J'en profite pour signaler que sur
la face B
de Dox A Gaz 6, il y a un "autocrackeur" :
Appuyez sur "U"pdate lors du boot puis suivez les
instructions, le programme
se charge de remplacer les fichiers sur les faces adéquates pour
'updater'
n'importe quelle version de Pool Of Radiance.
_Pool_Of_Radiance_V1.1___________________________William_COMTE_pour_Crack-WARE_
Retour sommaire
Rampage.
________________________________________________________________________________
Copperfield, CRACK-WARE 23/09/89
RAMPAGE (c)
Activision 88 (K) THE
BRAIN TRUST
________________________________________________________________________________
A soft nul, plombage archinul...
Pour la petite histoire, sachez que ce soft est à
l'origine de la gueguerre
menée entre le Brain Trust et le gdf. C'est de ce soft que le
Brain Trust parti
vers de nouveaux horizons et de nouvelles aventures.
Ceci me donne l'occasion d'expliquer le waper-ware excercé
par gdf :
lors de l'arrivée d'une nouveauté sur 2e/2c, gdf annonce
à tous ces élèves, le
plus rapidement possible par courrier, téléphone, B.A.L.
minitel, train, avion,
radio, TV, satellite, (...), bref il remue ciel et terre pour faire
savoir qu'
il a des nouveautés que personne n'a. Ensuite après une
grosse pub sur le soft
en question ("oui c'est le plus giga soft de la terre..."), il informe
ces
élèves qu'il met ces superbes news à leur
disposition en original, et qu'ils
sont libres de le distribuer, s'ils arrivent à le
déplomber.
Ainsi, sachant que les inconnus veulent toujours etre connus
(mentalité Atari)
les dits élèves s'arrachent ces news qui n'étaient
fournies qu'avec un cours
payant, les royalities allant bien sur au gdf... (comme tous ces
cours...)
Donc avec l'arrivée de news, gdf arrivait à vendre
une tonne de cours et s'en
mettait plein les poches...
Bon ceci étant dit, revenons-en à Rampage : le
Brain Trust avait eu ce soft
grace à la plus belle infra-structure qu'un groupe de
déplombeur n'ai jamais
eu sur Apple, j'ai nommé : le Black Chest.
Ce soft étant donc en notre possession, gdf nous demanda
si nous pouvions lui
donner l'éxclusivité de ce soft pendant 3 jours pour ces
cours pour qu'il
puisse allécher ces élèves et se faire du fric...
Et meme il ajouta :
"le temps que le courrier parvienne à mes élèves,
vous l'aurez déjà distribué
dans toute la galaxie..."
Donc les élèves étaient trompés car
ils n'auraient jamais pu le distribuer en
exclusivité...
The Jokersoft, indigné par cette fourberie envers des ames
innocentes et pures
retorqua au gdf qu'il était hors de question que nous trompions
ainsi les
élèves. Donc nous nous mimes (marceau) à
distribuer ce soft (qui en plus est
une bonne grosse daube ( (c) Lune de Fiel avec David et Zaza) ). D'ou
colère du
gdf, d'ou rupture des relations entre la future puissance de frappe
informatique Brain Trustienne, et gdf le vétéran.
--------------------------------------------------------------------------------
Pour la seconde anecdote sur Rampage, sachez qu'au temps
où le Brain Trust
devait illuminer l'émission "Ciel mon mari!" (ou mardi, j'sais
plus...), du
Deux Chat d'Havanne, nous eumes filmés sur cassette vidéo
le pain quotidien des
déplombeurs sur Apple (film fait surtout pour notre propre
plaisir...). Et nous
déplombames sous les yeux de notre caméraman CSSR 67...
Puis, ensuite nous
tournames un petit film érotique grace au concours de
créatures subliminales
qui sont l'ombre du Brain Trust et que je tiens absolument à
citer :
Adrianna (la +...), Isabelle no1, Isabelle no2, Yannicke,
Céline, Christine,
Vanessa, Martha (merci pour les entrées gratuites à la
Révo.).
Et bien sur, celle qui les fait tous rever : TANIA.
--------------------------------------------------------------------------------
Une grande histoire pour un fichier déplombable en
1'23"5°, dont l'expliquance
du crack suit...
Primo l'original se copie avec 1 LFB (Locksmith Fast Backup) sans
un pépin
(Lebref).
Aprés un boot de la copie, plantage sur l'image...
Deux manières s'imposent alors pour le déplombeur
Apple doté d'un quotient
intellectuel à trois chiffres (pas comme les Ataristes), deux
propositions
pour traquer la protection : soit en cherchant d'aprés les
commutateurs
graphiques (si le disk n'est pas codé), soit la seule et unique
méhode valable
le boot tracing bien sur...
Bon pour vous orienter le boulot, sachez que dans le boot 1 (page
$8 : $800 à
$8FF, soit la piste 0, secteur 0), nous avons un JMP $8070. A savoir
aussi que
tous les JSR $D000 sont des accès à la RWTS
(précédés des paramètres).
En traçant le programme, vous trouverez en $8152 : les
commutations pour la
page graphique DHGR, et juste après en $81A0 pour etre
précis le saut à la
vérif' que nous cherchons (pour ceux qui prennent le fichier en
cours).
Je vous donne le listing de cette vérif', on lit une suite
de nibbles que l'on
ne trouve bien sur que sur l'original. L'aboutissement de cette
vérif' est :
un saut en $828B si copie, et un RTS si original.
Donc il suffirait de mettre un RTS au début de cette
routine de vérif', pour
avoir une fin comme si on avait un original.
Donc sur disque, cherchez les premiers octets de cette routine de
vérification
soit par exemple : A9 56 85 FD A9 08
=> On trouve ceci en piste $0, secteur $D, à partir de
l'octet $3E.
Pour les intéressés et les curieux, les nibbles
vérifiés sont à la fin du
champ de données de la piste $0 secteur $0.
ORG $823E
LDA
$C089,X ; DRV On
*-------------------------------
* Compteurs d'essais
*-------------------------------
LDA #$56
STA $FD
H8245 LDA #$08
DEC $FC
BNE H824F
DEC $FD
BEQ
H828B ; nombre d'essais
épuisés : plante.
*-------------------------------
H824F LDY $C08C,X
BPL H824F
CPY #$FB
BNE H8245
BEQ A
A NOP
NOP
LDY $C08C,X
CPY #$08
ROL
BCS H826F
H8264 LDY $C08C,X
BPL H8264
CPY #$FF
BNE H8245
BEQ A
H826F LDY $C08C,X
BPL H826F
STY $FC
CMP #$0A
BNE H8245
H827A LDA $C08C,X
BPL H827A
SEC
ROL
AND $FC
EOR #$FF
BNE
H828B ; ne trouve pas la bonne valeur :
plante !
CMP $C088,X
RTS
*-------------------------------
* Routine de plantage
*-------------------------------
H828B TAY
CMP
$C088,X ; DRV Off
PLA
PLA
H8291 STA H0800,Y
INY
BNE H8291
INC H8293
LDA H8293
CMP #$82
BNE H8291
BIT $C081
BIT $C081
H82A7 JMP ($3F2) ; en $3F2:
$82A7 (planté)
*-------------------------------
H0800 = $0800
H8293 = $8293
*-------------------------------
Retour sommaire
Roger Rabbit.
_____________________________________________________________________________
!
!
! WHO FRAMED ROGER RABBIT? (C) 1988 Buena Vista <K>
OLIVER TWIST - /12/89 !
!_____________________________________________File : THE JOKERSOFT -
15/ 7/89_!
J'écris ce fichier en lendemain de Fete Nationale
Française où je ne suis
pas allé, donc il n'y aura pas d'hérésies ou
d'élucubrations éthyliques de ma
part comme me les pretent si souvent Max A Gaz avec sa
célèbre citation :
"Pour pas choper la gueule de bois, restes bourré!"
Let's go!
Buena Vista est une boite totalement inconnue sur Apple,
et donc à boite
nouvelle, protection nouvelle!!!
Et puis le soft est en ProDOS, alors tous les adeptes du
boot-tracing vont
découvrir l'art de déplomber un soft avec ce
système d'exploitation, pour ma
part, je pense que cela est plus simple!
Je me permet ici une petite parenthèse : les
parametres sur les pistes,
secteurs et octets qui sont donnés à l'aide de Diskfixer
sont des valeurs
sous DOS 3.3 et non pas en ProDOS (sorry!), c'est plus simple à
manier. De
plus, vous le saviez que l'ordre de lecture des secteurs en ProDOS est
différente de celui en DOS 3.3!
L'original de R.R est copiable au Locksmith (Fast Disk
Backup), mais plante
quelques secondes après son chargement en vous envoyant dans les
méandres du
ProDOS (ENTER PREFIX). Il faut donc retrouver la vérif. qui nous
envoie dans
cette sub-routine du ProDOS.
Le proDOS de R.R étant "miné", prenez en un
sur une autre diskette, et tapez
CAT
/DISK1SIDEA
NAME
TYPE BLOCKS MODIFIED
PRODOS
SYS 32
14-APR-88 ; SED du disk
DHRSFONT
BIN 5
16-NOV-88 ; fontes DHGR du jeu
TITLE
BIN 33 23-NOV-88-------
BV
BIN 33
23-NOV-88 ! 6 images DHGR couleurs
CREDITS
BIN 33 <NO
DATE> !
récupérables sous Extasie
HERMAN.FOLD
BIN 33
23-NOV-88 ! ni
compréssées, ni codées
HERMAN.ARMS
BIN 33
23-NOV-88 ! (cf. les 3 autres faces)
CREDITS
BIN 33 30-NOV-88-------
MASTER.SYSTEM SYS
8 30-NOV-88 ; launcher (en
$2000) =>------
SIGNON
BIN 8 <NO
DATE>
!
PROG0
BIN 1
30-NOV-88 ; chargeur de niv. (cf.+
bas) !
FONT
BIN 3
24-AUG-88 ; fontes HGR
(A$8D00,L$300) !
SHRS
BIN 3
30-NOV-88
!
!
BLOCKS FREE: 15 BLOCKS USED:
265
!
!
---------------------------------------------------------------------------
!
-=> Voila donc le prog. qui se charge juste après le
ProDOS, et comme la
protection de Roger Rabbit nous envoyait petre juste après le
chargement du
ProDOS tout à l'heure, c'est que la vérif. est surement
là, donc traçons.
Pour le charger, faites BLOADMASTER.SYSTEM,A$2000,TSYS,
puis CALL-151 et
2000L
*2000:JMP $2009
2009L
*2009:1/ il vectorise le reset (3F2:69 FF 5A)
2/ il parametre des valeurs en page
zéro
3C:3F (A1L)
3D:20 (A1H)
3E:3F (A2L)
3F:30 (A2H)
42:00 (A4L)
43:10 (A4H)
JSR
$FE2C ; routine de MOVE de la ROM qui
utilise les 6
parametres précédents de la manière suivante :
A4HA4L<A1HA1L.A2HA2LM ce qui correspond donc à
1000<203F.303FM
3/ JMP
$1000 ; là où il veut de
mouver le prog.
1000L
*1000:JMP $17EF ; on le
trouve en P$1E/B.3F (offset $203F)
17EFL
*17EF:LDX #$2C
STX $104A
LDX #$19
STX
$104B ; met 2C 19
à la place de 69 FF dans $104A
LDA
#$FF ;
équivaut à 11111111 en binaire
BEQ
$180F ; Branch on EQual
si Z=1
LDA
$16EB ; contient 0 en
$16EB
BNE
$180F ; Branch if Not
Equal si Z=0
LDA #$FF
STA
$16EB ; maintenant met
$FF en $16EB
JSR
$1B00 ; rout. de
lecture des nibbles
BCC
$180F ; Branch on Carry
Clear si C=0
JMP
$1A3C ; va faire un JSR
$BF00 => c'est une copie donc
va à la rout. ENTER PREFIX donc plante!
*180F:JSR $199B ; suite
normale du chargement, ouf!!!
JSR $19C3
D'après ce source commenté de la
vérif., on s'aperçoit que la protection ne
s'applique que sur les bits du registre d'états (P), et s'il
reconnait que
c'est une copie, il vous envoie en $1A3C (demande ENTER PREFIX), et si
c'est un
original, il va en $180F (suite normale du prog.). Donc il suffit de
remplacer
le JSR $1B00 par un JMP $180F, donc juste avant qu'il teste l'erreur
car c'est
une copie, on l'envoie en $180F, donc continue à charger.
On recherche ce 20 00 1B sur le disk, on le trouve sur le
disk 1, face A en
P$1E/1.46 et on met 4C 0F 18 à l'aide d'un éditeur de
secteurs.
Et puis, et puis, et puis coooollll, on boote et ça
marche, on joue, on a
déplombé le soft, en fait pas entièrement :
lorsque vous passez la première
étape (Maroon Cartoons) pour accèder à la seconde
(Ink'n Paint Club), et bien,
et bien, et bien, on vous demande un mot de passe (password comme dans
Wargames!) que vous ne trouverez que dans la doc. de Roger Rabbit (Gag
Catalog)
et étant donné que vous en avez une copie et bien (encore
une fois!), vous
l'avez dans le dos! Il faut donc faire sauter aussi cette rout.
Pour cela, continuons à tracer cette rout.,
où nous nous en étions arreté :
1815L
*1815:LDA $1003
ASL
ASL
ASL
ASL
CLC
ADC #$EC
STA $60
LDA #$16
ADC #$00
LDX #$00
LDY #$60
JSR $19D5
*182C:JSR $6000
Cette routine générale est
auto-paramètrable, et le programmeur s'en sert
à chaque accès disk (par exemple pour changer de niveau
ou pour vous demander
le password!!!).
Suivant la valeur qu'il trouve en $1003 (mais attention
$1004 doit contenir
la valeur de $1003 -1!), il vous envoie à un niveau
différent du jeu.
Ainsi si $1003 contient :
01 => présentation du jeu,
02 => étape du Maroon Cartoons,
03 => demande de password,
04 => étape du Ink'n Paint Club,
07 => the end.
Si c'est le début d'une étape, cette rout.
charge le prog. PROG0 contenu sur
le disk 1 face A, elle s'éxécute en $6000 (grace au JSR
$6000 en $182C), charge
le niveau et vous pouvez jouer.
Si c'est la fin d'une étape, cette rout. charge le
prog. TEST contenu sur le
disk 1 face B, elle s'éxécute aussi en $6000 (normal), et
vous demande le code.
Regardons donc ce qu'il y a en $6000 lors d'une demande :
6000L
*6000:JMP $6003
*6003:suite du prog.
demande code
Il nous suffit donc pour inhiber cette demande de mettre
un RTS en $6000 car
la rout. était envoyée par un JSR $6000. Tout cela se
trouve sur le disk 1,
face B, piste $0D, secteur $09, octet $00 : mettre 60 (was 4C)
J'ai meme poussé un peu les recherches en scannant
la mémoire pour savoir
où il stockait les questions et surtout comment il pouvait
savoir les réponses
(il ne va tout de meme pas avoir tout le Gag Catalog en RAM!). Ainsi, on
trouve toutes les questions suivies de leurs réponses
correspondantes à la
suite les unes des autres de $6326 à $7A64! et il les
sépare uniquement par un
00 (5,8 Ko de questions!!!).
Aussi arrivé à ce niveau du prog., il
vectorise le reset différement. Il
met en $3F2:JMP $1039 qui JMP $1A3C qui JSR $BF00 qui vous envoye
à la demande
de préfix ProDOS.
Au fait, une petite astuce pour jouer à la
première épreuve :
Une pression sur un des boutons du joystick permet de
sortir les ressorts de
la voiture et deux pressions rapides permet de sauter en l'air (il n'y
a donc
pas besoin de bouger la manette au meme moment!)
Et maintenant un petit fix :
- Maroon Cartoons :
disk 1B, P$0D/B.36 : 05 => nbr de dipbuckets (max. 255 = $FF)
disk 1B, P$10/4.C4 : EE->AD => vies infinies (case mémoire
$1FFF)
- Ink'n Paint Club
disk 2A, P$03/6.DF : EE->AD => vies inf.
disk 2A, P$03/6.F8 : EE->AD => vies inf.
- Gag Factory (en théorie)
disk 2B, P$00/1.4A : EE->AD => vies inf.
disk 2B, P$00/1.66 : EE->AD => vies inf.
"Mais qui veut la bite de Roger Le Rabin?"
_WHO_FRAMED_ROGER_RABBIT?________________________________________THE_JOKERSOFT_
Retour sommaire
Street Sports Basketball.
_____________________________________________________________________________
!
!
! STREET SPORTS BASKETBALL (C) 1988
Epyx (K) THE JOKERSOFT
- 31/ 8/88 !
!_____________________________________________File : THE
JOKERSOFT_-_22/ 2/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à Street Sports
Basketball.
Faire une copie demuffinisée de l'original.
Appliquons la technique de boot-tracing.
En analysant le boot 1, on trouve en $84A un JMP $BB00,
listing où se
trouve la protection.
On récupère les valeurs de désynchro
par la méthode habituelle. On trouve
FC EE EE FC (Il n'y a ici que 4 EOR #$ par rapport à d'autres
qui en ont 8!)
Puis on implante notre chère routine en $BB00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $05, octet $00) :
A9 FC LDA #$FC
85 F0 STA $F0
85 F3 STA $F3
A9 EE LDA #$EE
85 F1 STA $F1
85 F2 STA $F2
4C 79 BB JMP $BB79
Et ça boot impec.
_STREET_SPORTS_BASKETBALL________________________________________THE_JOKERSOFT_
Retour sommaire
Street Sports Football.
_____________________________________________________________________________
!
!
! STREET SPORTS FOOTBALL (C) 1989
Epyx Cracked by LOOCKHEED -
14/ 5/89 !
!_____________________________________________File : THE
JOKERSOFT_-_10/ 7/89_!
Update : 21/ 9/89
Pour commencer, je tiens à remercier Copperfield
pour son aide pour rédiger
ce fichier, et pas pour Loockheed qui m'a dit c'est juste une histoire
de
retenue...
Alors, il faut que je vous dise quelque chose : c'est un
Epyx! Alors
pourquoi je n'abrège pas ce fichier. En fait, Epyx a
changé sa protection
tout en restant basée sur le meme principe de désynchro,
mais maintenant il
ne s'agit plus qu'une histoire de retenue comme me disait ... donc
qu'un seul
octet à changer, mais on va tout comprendre le comment du
pourquoi (séquence
DECOUVERTE) :
Première étape : boot-tracing classique puis
801L. C'est un E-Boot 0
habituel qui se termine par un 84A:JMP $BC1D
Deuxième étape : boot-tracing part 2 :
*16F8:A9 59 8D 4B 8 A9 FF 8D 4C 8 4C 1 8
*1600G
*C0E8
*BC1DL (<=> P$0/6.1D sur le disk)
En $BC27:JSR $B9A0
*B9A0L
Il s'agit d'une première SEEKABS :
- l'accumulateur A et la case mémoire $2A contiennent le
numéro de la piste de
destination multipliée par 2 (ici, $44 donc P$22)
- le registre d'index X et la case mémoire $2B contiennent le
numéro du secteur
de la désynchro (ici S$0F)
Donc désynchro en P$22,S$0F.
Donc si BEQ, JSR en $B9FC où l'on trouve un RTS sinon dommage!
Alors on revient en $BC2A:JSR $BB03
*BB03L
1/ move page zéro en $5000 => SAVE
2/ JSR $BC00 (on va y aller, 2 sec!)
3/ move $5000 en page zéro => LOAD
*BC00L
1/ vectorise le reset ($3F2)
2/ JMP $BB30
*BB30L
1/ blah-blah (on va y revenir!)
2/ JSR $B944
*B944L
Il s'agit d'une SEEKABS normale de Dos 3.3 avec
- les parametres classiques :
$2C : checksum
$2D : numéro de secteur
$2E : numéro de piste
$2F : numéro de volume
- la lecture des headers (LDA $C08C,X)
*B954:CMP #$D5
*B95E:CMP #$AA
*B969:CMP #$96
*B990:CMP #$DE
*B99A:CMP #$AA
*B99F:RTS (fini!)
Puis il revient. Il compare $2D qui contient le
numéro de secteur à #$0F
(secteurs de la désynchro), puis BNE en $BB48 où il
trouve un DEC $08 (qui
correspond aux 8 valeurs de la désynchro) d'où 8 lectures
puis BEQ $BBA8
(c'est-à-dire presque la fin du calvaire!)
*BBA8L
:DEC $09
:BNE $BB44
:SEC ==> mise à 1 de la
retenue ((C)arry)
:RTS
Puis il revient. Il BCS (branchement si retenue) en $BBA8,
c'est-à-dire
qu'il boucle à l'infini, c'est-à-dire qu'il se plante
=> chouette! c'est là!!!
Si pas de retenue, va à la routine en $BB51, c'est-à-dire
compare les headers
(ici valeurs de désynchro) CMP #$E7 / CMP #$E7 / CMP #$E7 / CMP
#$EE. Il
continue à chercher, c'est BON!!!
Il faut donc virer cette retenue, donc à la place du SEC on met
un CLC...
On recherche la routine sur le disk : P$0/5.AC : 38->18
D'ailleurs on trouve les valeurs des 8 désynchro en
:
$BBAE:FC EE EE FC E7 EE FC E7 (<=> P$0/5.AE), notre
"ùnnùgnùg" si célèbre
(si! si! regardez les correspondances en ASCII).
Avant de terminer ce fichier, j'allais oublier de vous
dire qu'il faut
demuffinisser le disk avant de pouvoir modifier des octets sur votre
copie.
Et vous allez avoir un gros problème (n'est-ce pas Max
Headroom???), c'est que
vous ne pourrez pas demuffuniser la piste $22, et oui c'est celle qui
porte la
désynchro. Mais c'est pas grave vous n'en avez plus rien a faire
car vous
aurez shunté la vérif'. Formattez cette piste et cela
vous fera 16 secteurs de
plus pour signer votre soft.
_STREET_SPORTS_FOOTBALL_________________________________________THE_JOKERSOFT_
Retour sommaire
Street Sports Soccer.
_____________________________________________________________________________
!
!
! STREET SPORTS SOCCER (C) 1988
Epyx Canadian
Importation - 11/ 2/89 !
!_____________________________________________File : THE
JOKERSOFT_-_14/ 8/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à Street Sports Soccer.
Faire une copie demuffinisée de l'original.
Appliquons la technique du boot-tracing.
En analysant le boot 1, on trouve en $84A un JMP $BB00,
listing où se
trouve la protection.
On recupère les valeurs de désynchro par la
méthode habituelle. On trouve
FC EE EE FC E7 EE FC E7.
Puis on implante notre chère routine en $BB00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $05, octet $00 :
A2 07 LDX #$07
BD 10 BB LDA $BB10,Y
95 F0 STA $F0,Y
CA DEX
10 F8 BPL $0002
4C 18 BB JMP $BB18
00 00
FC EE EE FC E7 EE FC E7
Et ça boot impec.
_STREET_SPORTS_SOCCER____________________________________________THE_JOKERSOFT_
Retour sommaire
Spiderbot.
_____________________________________________________________________________
!
!
! SPIDERBOT (C) 1988 Epyx /
FACS
Cracked by LOOCKHEED - 29/ 7/89 !
!_____________________________________________File : THE JOKERSOFT_-_
1/ 8/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à Spiderbot (Et dire
qu'on l'attendait depuis 1 an et demi!!!)
Faire une copie demuffinisée de l'original.
Appliquons la technique du boot-tracing.
En analysant le boot 1, on trouve en $84A un JMP $BB00,
listing où se
trouve la protection.
On recupère les valeurs de désynchro par la
méthode habituelle. On trouve
E7 FC EE E7 FC EE EE FC.
Puis on implante notre chère routine en $BB00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $05, octet $00 :
A2 07 LDX #$07
BD 10 BB LDA $BB10,Y
95 F0 STA $F8,Y
CA DEX
10 F8 BPL $0002
4C 70 BB JMP $BB70
00 00
E7 FC EE E7 FC EE EE FC
Et ça boot impec.
_SPIDERBOT_______________________________________________________THE_JOKERSOFT_
Retour sommaire
Spy vs Spy 3.
_____________________________________________________________________________
!
!
! SPY VS SPY 3 (C) 1988
Epyx
Cracked by The Highlanders Team !
!_____________________________________________File : THE
JOKERSOFT_-_22/ 2/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à Spy vs Spy 3.
Faire une copie demuffinisée de l'original.
Appliquons la technique de boot-tracing.
En analysant le boot 1, on trouve en $83A un JMP $BB00,
listing où se
trouve la protection.
On récupère les valeurs de désynchro
par la méthode habituelle. On trouve
FC EE EE FC E7 EE FC E7.
Puis on implante notre chère routine en $BB00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $05, octet $00) :
A0 07 LDA #$07
B9 10 BB LDA $BB10,Y
99 F0 00 STA $00F0,Y
88 DEY
10 F7 BPL $0002
4C 7A BB JMP $BB7A
00 00
FC EE EE FC E7 EE FC E7
Et ça boot impec.
_SPY_VS_SPY_3_____________________________________________________THE_JOKERSOFT_
Retour sommaire
Star Rank Boxing 2.
_____________________________________________________________________________
!
!
! STAR RANK BOXING 2 (C) 1988
Gamestar (K) C.C+LCKD+OLT+TJS
- 31/12/88 !
!_____________________________________________File : THE JOKERSOFT_-_
7/ 2/89_!
Première chose, l'original de Star Rank Boxing 2
(SRB2) est copiable au
Locksmith 6.0.
Appliquons la méthode du boot-tracing (part I) :
]CALL-151
*1600<C600.C700M
*16F8:4C 59 FF
*1600G
*C0E8
*801L
Et on trace le boot 1 de SRB2.
On remarque un premier saut direct en $8E2:JMP $B700,
tiens on saute en
plein dans la RWTS! Il faut donc récupérer cette routine
en $B700.
Appliquons la technique du boot-tracing (part II) :
*16F8:A9 59 8D E3 08 A9 FF 8D E4 08 4C 01 08
c-à-d.
*16F8:LDA #$59
STA $8E3
LDA #$FF
STA $8E4 ; va
mettre $8E2:JMP $FF59
JMP $801 ;
éxécute boot 1.
Puis *B700L
Et on trace le boot 2 de SRB2.
On remarque le premier saut direct en $B760:JMP $2000,
tiens on saute en
plein dans la page HGR! Il faut donc récupérer cette
routine en $2000 avant
que celle-ci ne soit écrasée par la présentation.
Appliquons la technique du boot-tracing (part III) :
*16F8:A9 05 8D E3 08 A9 17 8D E4 08 4C 01 08 A9 59 8D 61 B7 A9 FF 8D 62
B7 4C
00 B7
c-à-d.
*16F8:LDA #$05
STA $8E3
LDA #$17
STA $8E4 ;
va mettre $8E2:JMP $1705
JMP $801 ;
éxécute boot 1.
*1705:LDA #$59
STA $B761
LDA #$FF
STA $B762 ; va
mettre $B760:JMP $FF59
JMP $B700 ;
éxécute boot 2.
Puis *2000L
Et on trace le boot 3 de SRB2.
On a un premier saut indirect en $2016:JSR $2156.
Dans cette sub-routine en $2156, on trouve en $216E :
*216E:A5 FF LDA
#$FF ; charge $FF
38
SEC ; met la
retenue à 1 (=> soustraction)
E9
35 SBC
#$35 ; soustrait immédiatement $35
85
FF STA
$FF ; stocke le résultat en $FF
20 4F 22 JSR
$224F ; saute indirectement en $224F
*2178:suite
Donc il commence à tester la valeur contenue en
$FF, pour reconnaitre si
la diskette dans le drive est l'original ou une affreuse copie pirate.
En $224F, on aura peut-etre le test de cette valeur de la
page zéro.
*224F:A5 FF LDA
$FF ; charge la valeur en $FF
D0
01 BNE
$2254 ; si elle est négative, va en $2254
60
RTS ; sinon
poursuit le prog. (retourne en $2178)
*2254:2C 54 C0 BIT $C054 ;
début de la routine qui affiche
PLEASE PUT ORIGINAL IN DRIVE 1
Il cherche donc à trouver la valeur 00 en $FF,
sinon cela plante.
Alors se présente 2 solutions :
1 - Méthode Captain Crack : (le truc efficace et clean!)
On met un LDA #$00 avant un STA $FF, ce qui est possible
en $2171
(ce qui correspond sur le disk à P$1/6.71 : E9 35
-> A9 00)
Et ça boot impec'.
2 - Méthode Oliver Twist ou The JokerSoft : (le truc crad
et chiant!)
On met un RTS en $224F puisque c'est ce que cherche cette
sub-sub-routine.
(ce qui correspond sur le disk à P$1/5.4F : A5
-> 60)
Mais ça boote pas impec' => "Shit Of Dog!" (Tm)
TBT
Alors, comme on est malin, on a recherché la meme
routine sur le disk :
(c-à-d. A5 FF D0 01 60)
Et il y en a une autre en P$1/8.34 : A5 -> 60
Et ça boot impec'.
Les 2 méthodes marchent parfaitement puisque la
copie marche, et dans les
2 cas, on a changé que 2 octets, mais la première
méthode est quand meme plus
clean!!!
Et comme, on est vraiment très gentil, on vous file
un petit fix dont
l'utilité est très réduite mais c'est pas grave :
P$14/F.47 : 01 -> round (C.M $FEF)
P$14/F.CE : 02 -> min (C.M $FF0)
P$14/F.D3 : 3C -> sec+1 (C.M $FF1)
_STAR_RANK_BOXING_2______________________________________________THE_JOKERSOFT_
Retour sommaire
The games : Summer Edition.
_____________________________________________________________________________
!
!
! THE GAMES : SUMMER EDITION (C) 1988 Epyx Cracked by
LOOCKHEED - 18/12/88 !
!_____________________________________________File : THE JOKERSOFT_-_
6/ 2/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à The Games : Summer
Edition.
Attention : Formattez votre blank disk avec le
numéro de volume 001, à
l'aide de DiskFixer 4.0 (option E).
Faire une copie demuffinisée de l'original.
Appliquons la technique du boot-tracing.
En analysant le boot 1, on trouve en $886 un JSR $1A00,
listing où se
trouve la protection.
On récupère les valeurs de désynchro
par la méthode habituelle. On trouve
FC EE EE FC E7 EE FC E7.
Puis on implante notre chère routine en $1A00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $08, octet $00) :
8D 03 C0 STA $C003
A2 07 LDX #$07
BD 10 1A LDA $1A10,Y
95 F0 STA $F0,Y
CA DEX
10 F8 BPL $0002
4C 85 1A JMP $1A85
00 00
FC EE EE FC E7 EE FC E7
Et ça boot impec.
_THE_GAMES_:_SUMMER_EDITION______________________________________THE_JOKERSOFT_
Retour sommaire
Tangled Tales (1).
________________________________________________________________________
_!_
_!_
!_ _! TANGLED TALES (C) ORIGIN SYSTEM
RWTS 18 secteurs By Loockheed !_ _!
!________________________________________________________________________!
!______________________________________________________________!
!___________________________________________________!
******************************************
* QUELQUES GENERALITES SUR LA PROTECTION *
******************************************
BY LOOCKHEED FROM THE
BRAIN TRUST (16 SEP.89)
--------- ---------------
Salut les fous, ici Loockheed from THE
BRAIN TRUST pour vous parler de la
toute dernière protection Origin System : Un tout nouveau 18
secteurs ! M'étant
fait une spécialité de ce genre de crack ( THE LAST
NINJA, TETRIS et maintenant
TANGLED TALES ), je m'en vais vous decortiker la nouvelle routine 18
secteurs.
Je voudrais tout d'abord féliciter l'auteur du plombage qui a su
allier une
puissante protection format (18 secteurs !) et une protection nibble
quoique
cette derniére soit un peu grossiére. En effet sur le
disk ADVENTURER No1 on
peut remarquer que la piste #$13 est formatée d'une
maniére assez bizzare : des
tonnes de #$AA suivis de quelques merdes. Une vérification
efface la mémoire à
partir de $6000 si elle ne trouve pas ces #$AA ( cette vérif' se
déclenche kan
vous roupillez dans le jeu ). Elle fut quand meme chiante à
trouver codée par
un EOR #$FF.
J'espère que ce fichier vous sera profitable et k'il vous
apprendra comment on
"décortike" une routine. Kan je fais ce genre de travail, je
commence par
chercher ce que j'appellerai le "coeur" de la routine c'est à
dire la partie où
il y'a des $C08C,X ($C0EC,X!), ce qui me permettra de savoir le codage,
ou il
stocke les no de volumes, identifier toutes les variables qu'il
utilisent dans
le prgr principal. Ce travail m'a pris pas mal de temps et
j'espère que
certains n'utiliseront pas ce source à des fins lucratives - en
vendant des
cours sur la dernière protection TANGLED TALES for instance (Non
je ne vise
personne mais ce "personne" ne m'inkiète pas trop vu k'il ne
comprendra jamais
- à moins que les racines carrées se soient enfin
décidées à pousser dans les
champs magnétiques ! - rien à cette protection ou plutot
si kan il aura "pompé"
tout mon crack de TANGLED TALES !) -
Pour éviter toute ambiguité ce " personne " se nomme en
fait GDF. Bon que dire
d'autre? Oui, sachez que comprendre cette routine constitue environ
allez je
dirais 20% du crack ( au max ! ), Le reste est affaire de
programmation, de
réorganisation de disk et d' (un peu d') astuce...
***************
*
*
* LE FORMAT *
*
*
***************
* Le format n'est pas le meme que celui du
* DOS 3.3, en effet les programmeurs du
* DOS 3.3 separent le secteur en deux buffers
* de nibble : le premier ( #$56 nibbles ) contient
* les nibbles qui manquent au second buffer
* pour former les octets.
* Ici, le programmeur a procede de la facon
* suivante :
* Il prend trois octets qu'il transforme en 4 nibbles
* (pas de separation de buffer donc!)
* Il prend les bits 7 et 8 de ces trois octets et les met
* dans un 4eme (le 4eme octet sert donc de decharge de bit
* pour les 3 autres octets!)
* donc 3 octets de la forme (en bit language) :
* 01234567 ABCDEFGH IJKLMNOP
* 1e octet 2e octet 3e octet
* se transforme sur le disk en
* XX01ABIJ XX234567 XXCDEFGH XXKLMNOP
* NIBBLE1 NIBBLE2 NIBBLE3 NIBBLE4
* "décharge"
* par une série de rotations et de calculs assez complexes!
* voila pour le format.... ( Pour plus d'information reportez
* vous à la routine de pre-nibblelization! )
* Vous comprenez donc bien qu'il n'a pas besoin de buffer secondaire
* cela m'a posé des pbm car en réecrivant la routine de
lecture je n'avais
* pas de place en mémoire et j'ai du recourir à une ruse
follE!
**************
* *
* LE TEXTE *
* *
**************
* Dans le déplombage du jeu, il m'a été utile
* de comprendre comment il affichait des caractères graphiks
* bon en fait c'est très simple :
* les caractères sont codés comme suit :
* 0 : espace
* $01-$1B : lettre capitale
* $1C-$36 : lettre minuscule
* après c'est le chiffre et les signes de ponctuation....
* Ceci montre que les caractères ont été
compressés (en effet
* il prend les premiers nombres hexa ( ceux ki on le + de bit
* à zero donc + facile a compresser!). Le décompresseur
* met les caractères codés comme je l'ai dit
* en $230 (dans le buffer clavier koi!) donc le dernier text
* affiche vous le retrouveriez ici.
* voila... let's begin with the vif of the topic....
LST OFF
******************************
*
*
* ENTREE PRINCIPALE DU *
* MINI DOS DU
18S *
*
*
* Parms
:
*
* X-Register : BUFFER HAUT *
* (le buffer bas pourra *
* changer selon le pseudo *
*
catalogue)
*
* Acc : No de programme *
*
*
******************************
JMP MINIDOS
******************************
*
*
* >> LECTURE
<< *
* Parms
:
*
* Accumulateur : BUFFER HAUT *
* X-reg :
PISTE *
* Y-reg :
SECTEUR *
* FLAG_18OR16 n'est pas *
* positionne donc s'il est *
* positif, on lira du 16s *
* JMP
LECTURE
*
*
*
******************************
JMP LECTURE
******************************
*
*
* >> ECRITURE
<< *
* Parms
:
*
* Accumulateur : BUFFER HAUT *
* X-reg :
PISTE *
* Y-reg :
SECTEUR *
* JMP
ECRITURE
*
*
*
******************************
JMP ECRITURE
JMP H6775 ; Eteint le drive (sous réserve de certains
flag...)
*******************************
*
*
* DEMANDE D'INSERTION D'UN *
* DISK DONT LE VOLUME AURA *
* ETE MIS DANS L'ACCUMULATEUR *
* AVANT L'APPEL DE LA ROUTINE *
*
*
*******************************
JMP ASKFORDISK
JMP H601D ; ça doit pas servir à grand chose...
******************************
*
*
* >> LECTURE
<< *
*
18S *
* Parms
:
*
* Accumulateur : BUFFER HAUT *
* X-reg :
PISTE *
* Y-reg :
SECTEUR *
* FLAG_18OR16
est *
* positionne --> read 18s *
* JMP
LCTURE18S
*
*
*
******************************
JMP LCTURE18S
H6015 HEX 01
H6016 HEX 00
H6017 HEX FF
HEX
FF
VOLUME HEX 3F
H601A HEX FF
H601B BRK
H601C BRK
H601D LDY
#$00 ; ???? Celui qui sait
à quoi ça sert,
STY
H047F ; ???? je lui offre un verre
d'eau...
JMP
HC700 ; ???? ( SI !! )
H6025 LDA
#$02 ; routine servant
à lire un secteur
LDX
#$14 ; dans le but de savoir
le volume du disk
LDY
#$00 ; (sert à la
routine LABEL : "ASKFORDISK")
JMP
LECTURE
BRK
BRK
BRK
BRK
BRK
BRK
BRK
BRK
BRK
* kan on arrive là on vient juste de lire le champ adresse
* sauf kon n'a pas lu la checksum
WRITMAIN JSR
DECOD4.4 ; on saute cette p..
de chk..
SEC
LDA
HC0ED
LDA
HC0EE
BPL
H6046 ;
write protected ?
JMP
H60D
; oui traite l'erreur...
H6046 LDX #$00
STX
H606C+1
LDA
#$FF
; on ecrit six nibbles de synchro
STA
HC0EF,X
ORA
HC0EC
PHA
; ces conneries servent
PLA
; pour le timing...
NOP
LDY
#$06
; init la boucle...
H6058 PHA
PLA
JSR
H60E6
DEY
BNE
H6058 ; nib synchro test end...
NOP
NOP
LDA
#$B5 ; on écrit #$B5
(debut secteur champ donnee...!)
JSR
H60E5 ; write..
LDA
#$AA ; puis #$AA
JSR
H60E5 ; write....
* $500-$556 contiennent les nibbles avec les bits manquant aux trois
autres
* nibbles pour former 4 octets...
H606C LDA
H0500 ; premier nibble...
INC
H606C+1 ; on incrémente la
précédente adresse ($500!))
AND
#$3F ; on enlève les
deux bits de poids fort (de
TAX
; gauche!)
LDA
H6300,X ; on le translationne....
STA
HC0ED ; on l'écrit...
ORA HC0EC
LDA
$2B ; timing...
H6080 LDA H2000,Y
; on prend le 1er octet du buffer
STA
$2B ; (de la forme
XX01234567)
AND
#$3F ; on vire les deux bits
de gauche
TAX
LDA
H6300,X ; on le translationne
NOP
NOP
; timing...
NOP
STA
HC0ED ; on l'écrit...
ORA HC0EC
LDA $2B
CPY
#$FF ; si on a terminé
d'écrire le secteur
BEQ
H60C6 ; on se branche la..
H609A LDA H2001,Y
; on prend le deuxième octet
STA
$2B ; qui va donner le
nibble de la forme
AND
#$3F ; XXABCDEF
TAX
LDA
H6300,X ; pareil...
NOP
STA HC0ED
ORA HC0EC
H60AC LDA H2002,Y
; enfin le 3ème...
AND #$3F
TAX
LDA H6300,X
INY
INY
INY
NOP
NOP
NOP
STA
HC0ED ; on l'écrit..
ORA HC0EC
LDA $2B
JMP H606C
H60C6 LDA
#$00 ; écriture de
l'octet de checksum
AND #$3F
TAX
LDA H6300,X
JSR
H60F4 ; go write..
LDA #$DE
JSR H60EF
LDA #$FF
JSR
H60EF ; nib synchro...
JSR H60EF
H60DE LDA
HC0EE ; fin mode ecriture
LDA HC0EC
RTS
H60E5
CLC
; à partir de la qq routine
H60E6
PHA
; ki n'on k'un but : écrire
PLA
; avec des timings différents...
STA HC0ED,X
ORA HC0EC
RTS
H60EF CLC
NOP
NOP
NOP
NOP
H60F4 STA HC0ED
ORA HC0EC
RTS
*----> routine de pre-nibblelization !!!
H60FB LDY
#$00 ; init some parms
STY
H6104+1 ; remet a zero le buffer
STY
$2C ; et ça aussi...
H6102 LDX
#$03 ; nombre d'octet (3 octets ---> 4
nibbles !)
H6104 LDA H2000 ;
premier octet du buffer..
PHA ; on
l'empile
ROL ; sauve
son octet 7 dans la retenue
ROL
$2B ; fait passer la retenue dans
le bit 0
; de la case mémoire $2B
ROL ; sauve
son octet 6 (qui est maintenant à
; la 7ème place car il y'a eu deéalage !)
; dans la retenue
ROL
$2B ; puis fait passer ce bit dans
le bit 0 de la
; case mémoire $2B (l'autre bit est maintenant
; en position 1 car il y'a eu décalage !)
PLA ; on
dépile
; attention cette partie de routine se
; repète 3 fois donc avec les décalages,
; les bits 6 et 7 du premier octet se retrouve
; respectivement a la 4 et 5ème position
; les bits 6 et 7 du deuxième octet se retrouve
; respectivement a la 2 et 3ème position
; les bit 6 et 7 du troisième octet se retrouve
; respectivement a la 0 et 1 position
EOR
$2C ; sert pour la checksum (?)
STA $2C
INC
H6104+1 ; incrémente le buffer de 1
BEQ
H6123 ; si
DEX ; tant
qu'on a pas rempli le nibble "de décharge
BNE
H6104 ; on continue...
LDA
$2B ; autrement
STA
H0500,Y ; on le met dans le buffer $500
INY ; tant
qu'on a pas atteint la fin on
BNE
H6102 ; continue...
H6123 STA H60C6+1 ; octet de
checksum
ROL
ROL $2B
ROL
ROL $2B
LDA $2B
ASL
ASL
STA H0500,Y
RTS
A SUIVRE! FICHIER : TANGLED TALES
(2)
LOOCKHEED
Retour sommaire
Tangled Tales (2).
READORWRITE LDA #$04 ; Initialisation pour le
compteur
STA
H627D ; d'essai
H6139 LDX
#$FF ; meme chose...
STX $2C
BIT
FLAG_18OR16
BMI
FIELD18S
; lit on une piste 18s ou une piste 16s?
; si le FLAG est négatif on lit un 18s.
H6142 INC $2C
BNE H614C
DEX ;
compteurs d'essai
BNE H614C
H6149 JMP H61FD ;
si y'en a trop on va à la routine
; qui gère les erreurs
H614C JSR READNIBBLE ; on va
chercher un nibble sur le disk
H614F CMP
#$D5 ; est-ce #$D5?
BNE
H6142 ; NON
JSR
READNIBBLE ; OUI
H6156 CMP
#$AA ; est-ce #$AA?
BNE
H614F ; NON
JSR
READNIBBLE ; OUI
CMP
#$96 ; est-ce #$96?
BNE
H6156 ; NON
JSR
DECOD4.4 ; va chercher et décoder les
différents
; parms codés en 4.4
CMP
VOLUME ; est-ce le bon volume ?
BEQ GOODVOL
JMP
H6271 ; non
GOODVOL JSR DECOD4.4
CMP
PISTE ; est-ce la bonne piste?
BNE
ERRPISTE
JSR
DECOD4.4
CMP
SECTEUR ; est-ce le bon secteur ?
BNE H6142
JSR
DECOD4.4 ; dernier saut pour "sauter la CHECKSUM"
; dont il a l'air de se foutre eperdument...
JSR
H6264 ; on va lire le DE de fin de
champ
BCS
H6149 ; si y'a pas d'erreur on
continue...
BIT
FLAG_READ_WRI
BPL H618C
; si on est en mode lecture on continue plus
; bas sinon on va en WRITMAIN
JMP
WRITMAIN
H618C LDY
#$00 ; initialisation
compteur d'essai
STY $2B
LDX
#$00 ; idem
H6192 INY
BEQ
H6149 ; too many essais ) y=0
(
JSR
READNIBBLE
H6198 CMP
#$B5 ; on recherche
maintenant
BNE
H6192 ; le début de
champ donnee " B5 AA "
H619C LDA HC0EC
BPL H619C
CMP #$AA
BNE H6198
BEQ H620D
FIELD18S LDY #$00 ; là
on recherche les entetes de la piste 18s
STY
$2B ; qui est codée comme
suit :
H61AB INC
$2C ; Debut de piste : D5
BNE
H61B2 ; Les 3 nibbles qui suivent servent
DEX ;
à coder respectivement
BEQ
H6149 ; -La piste
H61B2 LDA HC0EC ;
-Le secteur
BPL
H61B2 ; -Le volume
CMP
#$D5 ; Attention ces 3 nibbles seront a
prendre
BNE
H61AB ; en compte seulement apres etre
passés
H61BB LDY HC0EC ;
dans la table de post-nibblelization!
BPL H61BB
LDA
H6200,Y ; la voila cette belle table !
CMP
PISTE ; bonne piste ?
BNE H61AB
H61C8 LDY HC0EC
BPL H61C8
LDA H6200,Y
CMP
SECTEUR ; bon secteur ?
BNE H61AB
LDX #$00
LDA VOLUME
H61DA LDY HC0EC
BPL H61DA
CMP
H6200,Y ; volume correct ?
BEQ H620D
JMP H6271
* Donc pour coder le champ adresse d'un secteur d'une piste 18s on aura
* un truc du style : D5 97 97 97 pour coder la piste 0 secteur 0 volume
0
* ( n'oubliez pas que 97 devient 0 après l'indexation sur la
table de
* translation... )
ERRPISTE LDY H6016
CMP #$60
BCS H6204
STA H6016
TYA
DEC H627D
BEQ H61FD
JSR SEEKABS
JMP H6139
H61FD DEC H627C
H6200 BNE H6204
SEC
RTS
H6204 LDA H6016
JSR
RECALIBRATE
JMP
READORWRITE
H620D LDY HC0EC ;
routine de décodage du secteur
BPL
H620D ; ( transformer
LDA
H6200,Y ; 342 nibbles en 255 octets )
ASL ; ( Le
format est explike dans le début de ce
ASL ;
source )
TAY
ASL
ASL
STA $2C
TYA
AND #$C0
H621F LDY HC0EC
BPL H621F
ORA H6200,Y
H6227 STA H2000,X ; ce buffer
est positionne selon BUFFER
EOR
$2B ; ( $627E )
STA $2B
LDA $2C
AND #$C0
H6232 LDY HC0EC
BPL H6232
ORA H6200,Y
INX
BEQ H625B
H623D STA H2000,X ; idem pour
celui-ci
EOR $2B
STA $2B
LDA $2C
ASL
H6247 LDY HC0EC
BPL H6247
ASL
ORA H6200,Y
INX
H6251 STA H2000,X ; idem pour
celui-la
EOR $2B
STA $2B
INX
BNE H620D
H625B CMP $2B
BNE H6271
BIT
FLAG_18OR16
BMI
H626D ; si on lit un 18s il n'y pas de fin de
; champ donnée !
H6264 LDA HC0EC
BPL H6264
CMP
#$DE ; lecture d'un fin de champ
donnée/adresse
BNE H626F
H626D CLC
HEX
24 ; sortie avec carry a 1 si
erreur.
H626F SEC
RTS
H6271 DEC H627D ;
décrémentation du compteur principal d'essai
BMI
H626F ; (mis a 4 au début de la routine,
si il devient
JMP
H6139 ; négatif sorti principal en
erreur (carry=1))
FLAG_READ_WRI HEX 00
FLAG_18OR16 HEX 00
H627B HEX FF
H627C HEX 00
H627D HEX 00
BUFFER HEX 00
PISTE HEX 00
SECTEUR HEX 00
FLAG_DRIVE HEX 00
H6282 HEX 00
DECOD4.4 LDA HC0EC ;
décodage de deux nibbles en
BPL
*-3 ; 4.4
SEC ;
résultat mis dans Acc
ROL
STA $2B
PHA
PLA
LDA HC0EC
BPL *-3
AND $2B
RTS
******************************
* NIBBLE POST-NIBBLELIZATION *
******************************
HEX 0001989902039C040506A0A1A2A3A4A50708A8A9AA090A0B0C0DB0
HEX B10E0F10111213B81415161718191AC0C1C2C3C4C5C6C7C8C9CA1B
HEX CC1C1D1ED0D1D21FD4D52021D822232425262728E0E1E2E3E4292A
HEX 2BE82C2D2E2F303132F0F1333435363738F8393A3B3C3D3E3F
******************************
* NIBBLE PRE- NIBBLELIZATION *
******************************
H6300 HEX 96979A9B9D9E9FA6A7ABACADAEAFB2B3B4B5B6B7B9BABBBCBDBE
HEX
BFCBCDCECFD3D6D7D9DADBDCDDDEDFE5E6E7E9EAEBECEDEEEFF2
HEX F3F4F5F6F7F9FAFBFCFDFEFF
READNIBBLE LDA HC0EC ; lecture bète d'un nibble
BPL *-3
RTS
RECALIBRATE PHA ;
recalibration bruyante
LDA
#$60 ; on fait croire que la pioche
est sur la piste
STA
H6016 ; $30 ($60/2!)
LDA
#$00 ; pour ensuite la recalibrer a
0
JSR SEEKABS
PLA ;
puis on dépile la piste qu'on voulait
; atteindre apres la recalibration !
SEEKABS
PHA ;
dans A = Piste que l'on veut atteindre
ASL ;
dans H6016 : Piste actuellement présente
ASL
H6016 ; sous la pioche (*2!)
JSR H635F
PLA
STA H6016
RTS
H635F STA $2B
CMP H6016
BEQ H63B5
LDA #$00
STA $2A
H636A LDA H6016
STA $2C
SEC
SBC $2B
BEQ H63A7
BCS H637D
EOR #$FF
INC H6016
BCC H6382
H637D ADC #$FE
DEC H6016
H6382 CMP $2A
BCC H6388
LDA $2A
H6388 CMP #$0C
BCS H638D
TAY
H638D SEC
JSR H63AB
LDA H63C7,Y
JSR H63B6
LDA $2C
CLC
JSR H63AE
LDA H63D3,Y
JSR H63B6
INC $2A
BNE H636A
H63A7 JSR H63B6
CLC
H63AB LDA H6016
H63AE AND #$03
ROL
TAX
LDA HC0E0,X
H63B5 RTS
H63B6 LDX #$11
H63B8 DEX
BNE H63B8
INC $46
BNE H63C1
INC $47
H63C1 SEC
SBC #$01
BNE H63B6
RTS
H63C7 HEX 01302824201E1D1C1C1C1C1C
H63D3 HEX 702C26221F1E1D1C1C1C1C1C
FIXPARMS STA BUFFER ; sauve les paramètres
STX PISTE
STY SECTEUR
RTS
LECTURE
CLC ;
on remarque que c'est pratiquement la meme
HEX
24 ; entrée pour
l'écriture et la lecture.
ECRITURE
SEC ;
cette séquence est très utilisée par
; les programmeurs pour les routines à deux
; fonctions. une fois assemblée cela donne :
; LECTURE CLC
;
BIT $38
; si on JMP en Lecture la retenue se mettra a 0
; et restera a 0 car le BIT ne modifie pas la
; retenue
; Resumé : LECTURE RETENUE A 0
; ECRITURE
RETENUE A 1
JSR
FIXPARMS ; sauve Acc, X-reg , Y-reg dans des cases mem.
; (la retenue n'est pas modifiee!)
STA
H6227+2 ; ces trois STA positionnent les buffers de la
STA
H623D+2 ; lecture.
STA
H6251+2 ;
ROR
FLAG_READ_WRI
; le ROR est une rotation sur 9 bits c-a-d que
; la retenue pas dans l'octet par le bit de
; fort ( bit de gauche ou bit de signe! ).
; LECTURE : FLAG_READ_WRITE POSITIF (= #$00 )
; ECRITURE : FLAG_READ_WRITE NEGATIF (= #$80 )
TRYAGAIN LDA #$03
STA H627C
SEI ;
inhibition des interruptions
LDA
HC0EE ; prépare le mode lecture
LDA
HC0EC ;
LDA
HC0E9 ; MOTOR ON !
BIT
FLAG_DRIVE ; si le drive était déjà allumé,
saute la
BMI
DRIVON ; boucle d'attente
LDY
#$07 ; boucle d'attente (
nécessaire quand on
H6411 JSR H63B6 ;
allume le drive )
DEY
BNE H6411
DRIVON LDA #$80 ;
cette fois le drive est allumé
STA
FLAG_DRIVE ; on positionne le flag du drive
BIT H601C
; positionne dans ASKFORDISK
BPL H6435
LDY
#$F0 ; à mon humble avis ( ce qui
n'est pas sur! )
H6423 LDA HC0EC ;
cette routine sert à déterminer si on peut
BPL
H6423 ; lire des nibbles
INY ; sert
notamment quand on change de drive
BNE
H6423 ; pour savoir si il n'est pas ouvert ou
H642B CMP HC0EC ;
si il existe bien !
BNE H6435
INY
BNE H642B
SEC ;
--->> Impossible de lire
RTS
H6435 LDA PISTE ;
on va mettre la pioche sur la piste
JSR
SEEKABS ; désirée
BIT
FLAG_READ_WRI ; est-on en mode lecture ?
BPL
NOWRIT ; non (FLAG_READ_WRI POSITIF )
LDA
BUFFER ; oui
STA
H6104+2 ; positionne les buffers pour le
STA
H6080+2 ; mode ECRITURE
STA
H609A+2
STA H60AC+2
JSR
H60FB ; routine de pre-nibblelization
NOWRIT JSR HREADORWRITE
; lit ou écrit un secteur (selon FLAG_READ_WRI)
; cette routine ressort avec la carry à 1
; si une erreur a été trouvée (erreur de volume
; mauvaise lecture, etc.. )
LDA
H601C ; Flag : doit on traiter l'erreur
BMI
H6465 ; par un " DRIVE ERROR : Make sure
etc...?"
; NON va directement au RTS
BCS
ERROR ; OUI, on traite l'erreur si la retenue
est a 1
; on se branche sur la routine qui prend en
; charge l'erreur
H645C LDA BUFFER ;
autrement tout est impeccable, on reprend les
LDX
PISTE ; valeurs en x, y et A
LDY SECTEUR
H6465
RTS ; fin
des emmerdes....
ERROR LDY HC0EC
JSR H086C
JSR H085D
LDA #$12
STA
$25 ; ROUTINES QUI ECRIVENT :
LDA
#$02 ; "DRIVE ERROR, make sure that the
drive door
STA
$24 ; is closed and disk is in
drive..."
JSR H083F
LDY #$00
JSR H64FA
JSR H0842
INC H03EF
JSR H086C
JSR
H645C ; repèchent les valeurs pour
JMP
TRYAGAIN ; faire un autre essai
A SUIVRE! FICHIER : TANGLED TALES
(3)
LOOCKHEED
Retour sommaire
Tangled Tales (3).
ASKFORDISK
PHA ; parms
dans A Le no de volume de la diskette
CLC ; que
l'on veut que l'utilisateur moyen insère.
ADC
#$36 ; on l'additionne avec 36 pour avoir
; son équivalent dans le codage des lettres
; ( référez vous au codage des textes ! )
; en effet cela lui sert a mettre le No de
; disk dans le message " Please Insert .. "
STA
H67E2 ; on le stocke juste après.
JSR
H6025 ; puis on va lire un secteur en $200 pour
; mettre ainsi la pioche sur la piste 14
; comme ca si on change de drive cela
; évitera la recalibration !
PLA
STA
VOLUME ; on stocke le volume demande dans Le volume
LDA
#$80 ; initialisation de quelques drapeaux
STA
H601C ; ( notamment pour les traitements des
erreurs
STA
H601B ; la il ne veut pas qu'on affiche DRIVE
ERROR
; MAKE SURE etc...). il veut prendre lui meme en
; charge les erreurs car il sait que la seule
; qui peut venir est une erreur de volume
JSR
H086C ; ?
JMP H64CC
H64AA JSR H085D ;
efface la window des textes
LDA
#$12 ; VTAB 18
STA
$25 ; (Position verticale du
message)
LDA
#$02 ; HTAB 02
STA
$24 ; (Position horizontale du
message)
LDY
#$42 ; affiche " PLEASE INSERT... "
JSR H64FA
LDA
VOLUME ; Si le volume demandé est le volume du
disk
; de boot alors on affiche "BOOT" au lieu de
CMP
#$3F ; "ADVENTURER 1" (Zum Beispiel)
BNE H64C3
LDY #$67
H64C3 JSR H64FA
INC H03EF
JSR
H086C ; attend une touche
H64CC JSR H6775 ;
eteint le drive
LDA
#$02 ; p'tite boucle d'attente pour faire
jolie...
JSR H63B6
LDX
#$00 ; INIT DRIVE 1
LDA
H601B ; si H601B est négatif on lit le
DRIVE 1
BMI
DRIVEONE
INX ; sinon
on incrémente X pour lire le drive 2
DRIVEONE LDA HC0EA,X
JSR
H6025 ; on lit un secteur
BCC
H64F0 ; si c'est le volume recherche pas de
probleme
LDA
H601B ; dans l'autre cas on inverse le bit 7
EOR
#$80 ; (bit de signe) pour
procéder à un
STA
H601B ; changement de drive
BMI
H64AA ; si c'était le drive 1 ( donc le
dernier drive
; testé était le drive 2 !) va afficher le
; please insert etc...
BPL
H64CC ; autrement va tester le drive 2
H64F0 LDX
#$00 ; on remet quelques drapeaux
STX H601C
DEX
STX H627B
RTS ; fin
de la routine ASKFORDISK
* ---> routine principale "affiche le texte !"
H64FA LDA H6783,Y ; on peche
une valeur de
BMI
H6505 ; A si elle est négative fin de la
phrase
JSR
H0806 ; routine ki affiche une lettre
INY ; on
incrémente Y
BNE
H64FA ; on continue à afficher tant ke
c'est pas égal
; a zero
H6505
INY ; on
incrémente y pour "sauter" l'octet négatif
; (comme ca on pourra continuer une autre phrase)
RTS ; fin
LCTURE18S DEC FLAG_18OR16
BIT
FLAG_DRIVE
BMI H6516
JSR LECTURE
INC
FLAG_18OR16
RTS
H6516 JSR FIXPARMS
STA H6227+2
STA H623D+2
STA H6251+2
CPX H6016
BEQ H652B
TXA
JSR SEEKABS
H652B JSR H6452
INC
FLAG_18OR16
RTS
MINIDOS STX $27 ;
stocke le buffer_haut en $27
LDY
#$00 ; le _bas en $26
STY $26
CPX
#$A0 ; bon ca je crois que quand x est
égal
; à #$A0 ou #$B0 il teste s'il ne l'avait
; pas déjà chargé (comme ca il ne recharge
; pas une image compressée kila déjà en mem!
BEQ H6541
INY
CPX
#$B0 ; ce n'est qu'une supposition...
BNE H654A
H6541 CMP H6017,Y
BNE H6547
RTS
H6547 STA H6017,Y
H654A STA
$2D ; on stocke le No de programme
STA H6282
JSR H671F
BCS
H65AB ; le programme se branche tjrs en H65AB...
LDY #$18
H6556 LDA H674A,Y
STA STACK,Y
DEY
BPL H6556
STY $2F
JSR H66F7
LDA #$B0
STA $27
LDX #$02
H656A LDA $2D
CMP HFE00,X
BNE H659C
INC $2F
JSR H675B
STA H0107
CMP #$D0
BCC H6594
STA H674F+2
LDA $27
STA AUXZP
STA $27
LDA #$00
STA $26
JSR H674D
STA MAINZP
JMP H6597
H6594 JSR STACK
H6597 BIT HC083
INC $27
H659C INX
BNE H656A
JSR H66F7
LDA #$F1
STA $27
LDA $2F
BMI H65AB
RTS
H65AB LDA VOLUME ; on
sauve le volume
STA
H6678+1 ; pour pouvoir le comparer a la fin de l'appel
LDA $2D ;
BPL
H65C0 ; si A est négatif pas de pbm
AND
#$7F ; autrement le programme est situe
sur le disk
STA
$2D ; de boot
LDA
#$3F ;
JSR
ASKFORDISK
; va demander le disk de boot
LDA
$2D ; on reloade A avec le nouveau
prgr
H65C0
ASL ; on le
multiplie
ADC
$2D ; par
STA
$2D ; TROIS
LDX
H6015 ; si la piste catalogue est tjrs la meme
CPX
H627B ; alors c'est pas la peine de la recharger
BEQ
H65D7 ;
STX
H627B ; autrement on la stocke dans H627B (
comme ca
; au prochain appel on aura pas besoin de la
; charger )
LDY
#$00 ; à noter que le catalogue
est toujours sur le
; secteur 0 et, en pratique il est soit sur la
; piste 0 soit sur la piste $15
LDA
#$04 ; et se loge en $400
JSR
LCTURE18S ; go read catalogue
H65D7 LDY
$2D ; voila on reprend le No de
prgrm
; (prealablement *3)
LDX
H0400,Y ; premier octet : contient la piste du
; debut où se trouve le prgr
LDA
H0402,Y ; 3ème octet : contient le buffer bas
PHA ;
où COMMENCE le prgr on l'empile
LDA
H0403,Y ; 4ème octet : contient la PISTE où
le prgr
STA
$2F ; se finit, on la sauve en $2F
LDA
H0404,Y ; 5ème octet : contient le SECTEUR où
le prgr
STA
$2D ; se finit, on le sauve en $2D
LDA
H0405,Y ; 6ème octet : contient Le BUFFER_BAS
où se
STA
$2E ; TERMINE prgr
LDA
H0401,Y ; 2ème octet : contient le SECTEUR
TAY ;
où commence le prgr
LDA
#$05 ; ce premier secteur est
chargé en $500
JSR
LCTURE18S ; (buffer provisoire de ce dos)
; on va le lire
LDY #$00
PLA ; on
dépile A (qui contient alors
; l'adresse basse du buffer ou le prgr commence)
TAX ;
transfert dans un registre index pour faire
; une boucle
H65FC LDA H0500,X ; on
transfert la partie qui nous intéresse
STA
($26),Y ; dans le buffer définitif
INY
BNE H6606
INC $27
H6606 INX
BNE
H65FC ; fin de la boucle ?
STY
$26 ; on sauve Y dans le buffer
pour continuer la boucle
JSR
H645C ; on pèche les valeurs du dernier
secteur loadé
CPY
$2D ; est-ce le dernier secteur du
prgr ?
BNE
PASENCORE ;
CPX
$2F ; est-ce la dernière
piste du prgr ?
BNE
PASENCORE ;
LDY
#$00 ; là c'est le dernier secteur
du prgr
BEQ
JETZT ; on met 0 dans Y et on se branche en
H666C
PASENCORE LDA $26 ; on
continue à charger avec le meme
STA
H6227+1 ; buffer bas
STA H623D+1
STA H6251+1
LDA
$27 ; on met dans A Le buffer
H6627
INY ; on
incrémente le secteur
CPY
#$12 ; est il égal à 12 ?
BNE
H6635 ; non va en H6635
LDY
#$00 ; oui alors cela signifie qu'il faut
INX ;
changer de piste et mettre à 0 le secteur
CPX
#$23 ; si X est inférieur
BCC
H6635 ; à $23 no pbm
LDX
#$0F ; sinon PISTE #$0F
H6635 CPY
$2D ; a-t-on atteint le dernier
secteur du prgr ?
BNE
H663D ; non alors allons lire
CPX
$2F ; a-t-on atteint la derniere
piste du prgr ?
BEQ
H6645 ; oui va en H6634 !
H663D JSR LCTURE18S ; autrement on lit...
CLC ; on
augmente les buffers
ADC
#$01 ; de 1
BNE
H6627 ; et c'est reparti pour une nouvelle
lecture !
H6645 STA
$27 ; sauve le dernier buffer
LDA
#$00 ; REMET A 0 LES BUFFER_BAS DU LECTEUR
STA
H6227+1 ; POUR POUVOIR LIRE EN $500
STA H623D+1
STA H6251+1
LDA
#$05 ; BUFFER_HI
JSR
LCTURE18S ; ET pof on va lire le dernier secteur
LDY #$00
LDX #$00
H665B CPX
$2E ; on transfert la partie
intéressante
BEQ
JETZT ; dans le buffer definitif
LDA H0500,X
STA ($26),Y
INY
BNE H6669
INC $27
H6669 INX
BNE H665B
JETZT
TYA ; fin
de la boucle...
CLC ;
après ce n'est que littérature....
ADC $26
LDA $27
ADC #$00
SEC
SBC #$F0
PHA
H6678 LDA #$00
CMP VOLUME
BEQ H6682
JSR
ASKFORDISK
H6682 JSR H671F
PLA
BCS H669C
STA $2F
STA $2E
LDY #$02
H668E LDA HFE00,Y
CMP #$FF
BNE H6699
DEC $2E
BEQ H669D
H6699 INY
BNE H668E
H669C RTS
H669D JSR H66F7
LDX #$02
H66A2 LDA HFE00,X
CMP #$FF
BNE H66F4
LDA H6282
STA HFE00,X
JSR H675B
STA H66CA+2
STA H66DE+2
STA H66E1+2
STA AUXZP
CMP #$D0
BCS H66C5
STA AUXWRT
H66C5 LDY #$00
H66C7 LDA HB000,Y
H66CA STA H1000,Y
INY
BNE H66C7
STA MAINZP
STA MAINWRT
CPX #$20
BCC H66E7
CPX #$60
BCS H66E7
H66DE LDA H1000,Y
H66E1 STA H1000,Y
INY
BNE H66DE
H66E7 BIT HC083
BIT HC083
INC H66C7+2
DEC $2F
BEQ H66F7
H66F4 INX
BNE H66A2
H66F7 LDY #$00
LDA #$B0
STA $27
STA H66C7+2
LDA #$F1
STA $2C
STY $26
STY $2B
LDX #$0C
H670A LDA ($26),Y
PHA
LDA ($2B),Y
STA ($26),Y
PLA
STA ($2B),Y
INY
BNE H670A
INC $27
INC $2C
DEX
BNE H670A
RTS
H671F LDA H67FD ;
doit-on lire dans les banks (not sure!) ?
BEQ H6748
LDX H6015
CPX #$15
BNE H6748
BIT HC083
BIT HC083
LDX VOLUME
CPX H601A
BEQ H6746
STX H601A
LDX #$02
LDA #$FF
H6740 STA HFE00,X
INX
BNE H6740
H6746 CLC
RTS
H6748 SEC
RTS
H674A STA AUXREAD
H674D LDY #$00
H674F LDA H1000,Y
STA ($26),Y
INY
BNE H674F
STA
MAINREAD
RTS
H675B TXA
AND #$F0
CMP #$C0
BNE H676D
TXA
CLC
ADC #$10
BIT HC08B
BIT HC08B
RTS
H676D TXA
BIT HC083
BIT HC083
RTS
H6775 LDA #$00
CMP
FLAG_DRIVE
BEQ H6782
STA
FLAG_DRIVE
LDA HC0E8
H6782 RTS
H6783 HEX
04232D2500052C2C292C0046000D1B251F002D2F2C1F001E232D2500
HEX
232D002328001E2C23301F001B281E001E2C23301F001E29292C0023
HEX
2D001D26292D1F1E45FF10261F1B2D1F0023282D1F2C2E002E221F00
HEX
FF1B1E301F282E2F2C1F00 ; ça c'est "PLEASE INSERT...."
H67E2 HEX 00 ----> Là le
numéro de volume !
HEX
001E232D2545FF0229292E001E232D2545FF9D
H67F6 HEX 9D1003B9009E9D
H67FD HEX 2003C8
LES LABELS....
STACK = $0100
H0107 = $0107
H0302 = $0302
H0320 = $0320
H03EF = $03EF
H0400 = $0400
H0401 = $0401
H0402 = $0402
H0403 = $0403
H0404 = $0404
H0405 = $0405
H047F = $047F
H0500 = $0500
H0504 = $0504
H0806 = $0806
H083F = $083F
H0842 = $0842
H085D = $085D
H086C = $086C
H1000 = $1000
H2000 = $2000
H2001 = $2001
H2002 = $2002
HB000 = $B000
MAINREAD = $C002
AUXREAD = $C003
MAINWRT = $C004
AUXWRT = $C005
MAINZP = $C008
AUXZP = $C009
HC01A = $C01A
PADDL0 = $C064
HC065 = $C065
PTRIG = $C070
HC083 = $C083
HC08B = $C08B
HC0E0 = $C0E0
HC0E8 = $C0E8
HC0E9 = $C0E9
HC0EA = $C0EA
HC0EC = $C0EC
HC0ED = $C0ED
HC0EE = $C0EE
HC0EF = $C0EF
HC700 = $C700
HFE00 = $FE00
THE
END
LOOCKHEED
Retour sommaire
Technocop.
_____________________________________________________________________________
!
!
! TECHNOCOP (C) 1988 Gray
Matter
Cracked by LOOCKHEED - / 5/89 !
!_____________________________________________File : THE
JOKERSOFT_-_11/ 7/89_!
Pour commencer, je tiens à remercier Copperfield
pour son aide pour rédiger
ce fichier, pour Goldpom à qui nous devons cet original (!!!) et
pas pour
Loockheed qui m'a dit c'est juste une histoire de désynchro de
plus...
Alors, il faut que je vous dise quelque chose : c'est de
la protection Made
In Epyx! Cela a beau sortir des ateliers Gray Matter (Chris Gray
étant auteur
d'nfiltrator 1 et 2!, mais ici le programmeur est Esteban Ahn), c'est
quand
meme une désynchro avec 4 EOR.
Pourtant une grande discussion a eu lieu entre les membres
du BRAIN TRUST,
pour savoir le type de cette protection de cette boite inconnue???
Certains
membres (comme moi-meme) étaient surs que c'était la meme
protection que Test
Drive car la boite qui avait fait la conversion était
Distinctive Software,
comme Test Drive. En fait, Copperfield avait raison,
(TechnoCopperfield!)
c'était une désynchro Epyx mais légèrement
modifiée!
L'original doit etre démuffinisé dans un
premier temps.
On analyse le Boot 1 de Technocop.
1/ mouve le Boot 1 en $200 (buffer clavier)
2/ initialise quelques valeurs (36-37-38-39-3E-3F et aussi 801:4C 3C 02)
3/ JSR $27F : charge le Boot 2 (où on trouvera la vérif.)
4/ prépare la bank $C083
5/ JMP $F700 => la vérif.!!!
On récupère ce Boot 2 grace à la
méthode habituelle et on trace :
*B700LLLLLLL
*F716:A9 80 LDA #$80
85
FD STA $FD
C6
FD DEC $FD
F0
7A BEQ
$F798 ; se
branche si égal à la rt de plantage
20 A5 F7 JSR
$F7A5 ;
c'est Ok! suite de la lecture
B0
75 BCS
$F798 ; s'y
rebranche si C=1
F723:la suite arrive!
*F798:C6 FC DEC $FC
F0
03 BEQ
$F79F ;
plus d'essai => c'est Ok!
4C 16 F7 JMP
$F716 ; se
rebranche à l'infini => plantage!
F79F:EE F4 03 INC
$03F4 ;
ça plante!
6C FC FF JMP
$(FFFC) ;
FCA5:routine de lecture des headers normaux (D5 AA 96 etc...),
càd la sortie
de la vérif.
*F723:la suite est arrivée!
CMP #$E7
BNE
...
CMP #$E7
BNE
...
CMP #$E7
BNE
...
CMP #$EE
BNE
...
Il cherche donc 4 valeurs de désynchro sinon il se rebranche
plus haut et
boucle à l'infini, il faudra donc déjà NOPer le
BNE à chaque fois.
Puis il arrive à sa rout. de mover qui lui permet d'avoir les
bonnes valeurs
des désynchros qu'il peche dans l'original, et comme notre copie
ne possède
plus ces marquages, il faut lui faire comprendre qu'elle les a (elle
doit avoir
*F0:FC EE EE FC). Alors ajoutons tout betement la rout. classique :
A9 FC 85 F0 85 F3 A9 EE 85 F1 85 F2
Et c'est tout, ça devrait booté!
On recherche la rout. $B700 sur le disk, elle est en P$0/C.
Il faut donc modifier les octets suivant sur le disk :
P$0/C.43:EA EA -
4C:EA EA !_> NOPage des BNE
55:EA EA !
68:EA EA -
6A:A9 FC 85 F0 85 F3 A9 EE 85 F1 85 F2
-> implantation des valeurs de
désynchro en page zéro
76:EA EA EA EA -> pour qu'il lise la
suite du prog. normalement
Et maintenant, un petit fix rapido, car il y aurait
beaucoup de choses à
fixer :
Pour le nombre de vies que l'on voit apparaitre sur le bras dans la
deuxième
étape :
Face 1, P$0/E.1B : nbr (was 05)
_TECHNOCOP_______________________________________________________THE_JOKERSOFT_
Retour sommaire
Tetris.
_____________________________________________________________________________
!
!
! TETRIS (C) 1989 Spectrum
Holobyte
Cracked by LOOCKHEED - / 4/89 !
!______________________________________________File_:_TJS_/_Update_:_15/
9/89_!
Et voici un nouveau fichier du Jokersoft, un de plus dans
ce Crack-Ware,
qu'il est bo, oh! qu'il est boooo (le Crack-Ware et le TJS aussi!).
Ce soft est plombé à l'aide d'une protection
format, mais aucune protection
mémoire. La protection format est la plus chiante que l'on ait
rencontré ces
derniers mois, c'est en effet du 18 secteurs par pistes. On s'en est
douté tout
de suite car sur la page text 40 col. de présentation de Tetris,
il y avait
marqué SPECIAL THANKS TO : ROLAND GUSTAFSSON, plombeur
numéro 1 de chez
Broderbund, auteur du RDOS S.S.I et du 18 secteurs par pistes (on ne
peut pas
faire mieux, nous explique, JPL dans son bouquin : "Systèmes
d'exploitation et
systèmes de protections sur Apple 2" page 331). Alors il fallait
convertir donc
ce 18 secteurs en 16.
C'est LOOCKHEED qui s'est chargé de cela, car il
adore toutes les
protections 18 secteurs (The Last Ninja, Tangled Tales, etc...). Et il
l'a
réalisé en le temps record d'une nuit...
Je vous donne le format 18 secteurs de Tetris :
- un champ adresse : prologue D5 9D
piste + secteur + checksum
epilogue AA
- 2 nibbles self-sync : FF FF
- un champ données : prologue A4 (valeur
différente selon les 18 secteurs.)
données $400 nibbles
checksum
epilogue D4
Rem : c'était le meme format pour Airheart et The
Last Ninja.
Pour convertir l'original (copiable au Brainsmith 3.0!),
il suffit de
bootracer le soft dans son intégralité, ne vous
inquiétez pas, il n'est pas
très long, de récupérer toute la mémoire
sous forme de fichier binaire et de
réorganiser le disk en 16 secteurs. Le plus simple est le moyen
utilisé par
LCKD et qui consiste à utiliser l'Accolade Boot,
c'est-à-dire qu'il charge ses
pistes dans l'ordre décroissant et ses secteurs dans l'ordre
décroissant grace
à des buffers décroissants...
Dans votre boot 1 (Acco_Boot), vous entrez la routine
suivante :
LDA
#$10 ; buffer de fin de chargement
(décroissant)
STA $27
LDA
#$00 ; piste de fin
(décroissante)
LDX
#$01 ; secteur de fin
(décroissant)
LDY
#$01 ; nbr de secteurs à
charger (croissant)
JSR
$08CD ; => charge RT.LAUNCHER
LDA #$BF
STA $27
LDA #$00
LDX #$0F
LDY #$02
JSR
$08CD ; => charge RT.GRAPHIK DECOMP
JMP
$1000 ; éxécute RT.LAUNCHER
Ainsi vous programmerez une petite routine (RT.LAUNCHER)
de ce type :
ORG $1000
LDA #$95
STA $27
LDA #$04
LDX #$05
LDY #$36
JSR
$08CD ; go 1 to Acco_Boot
LDA
$0478 ; case mémoire de la piste
courante
STA
PISTE+1 ; cf. listing ORG $BE00
BIT
$C08B ; BANK 1
BIT
$C08B ;
LDA #$DF
STA $27
LDA #$12
LDX #$01
LDY #$09
JSR
$08CD ; go 2 to Acco_Boot
LDA
#$CF ; routine de recalibration
STA
$27 ; (cf. plus bas!)
LDA
#$00 ;
LDX
#$00 ;
LDY
#$01 ;
JSR
$08CD ; go 3 to Acco_Boot
BIT
$C081 ; go out of the bank
JMP
$6000 ; suite du chargement
Rem : Il va de soit que les valeurs des pistes et secteurs
sont propres à la
version réalisée par LCKD.
Si vous avez bien respecté l'ordre des secteurs
dans votre chargement, cela
doit coller impec'. Mais là vous avez eu 2 problèmes :
Premièrement, lors d'un accès disk (ex :
chargement d'une image pendant le
jeu), et bien, la tete de lecture bouge et on ne sait pas trop
où est se
trouve. Pour cela, utilisez votre Acco_Boot (toujours en
mémoire!) pour
recalibrer votre tete de lecture (c'est pour plus de
sécurité!) :
JSR RECAL
...
RECAL LDA
#$CF ; buffer inutilisé
STA $27
LDA
#$00 ; P$00
LDX
#$00 ; S$00
LDY
#$01 ; pendant 1 secteur
JSR
$08CD ; go to Acco_Boot
BIT
$C0E8 ; arret du drive
RTS ;
retour à l'appelant
Deuxièmement, c'est le problème de la
sauvegarde des scores (problème que
n'a pas résolu ACS dans sa version Tetris DHGR 16 secteurs!!!).
Il vous suffit
de charger une RTWS 3.3 et d'y accèder lors de la demande de
votre pseudo en
cas de high-scores et de sauver dès le CR, juste avant la
demande PLAY AGAIN?
(Y/N). Ainsi vous aurez votre pseudo dans le TOP TEN COMRADES (sur la
version
TBT, la table se trouve P$03,S$09, les scores étant
affichés à l'envers et en
décimal).
Et comme je suis très gentil, je vous file la
routine (toujours utilisant
l'Acco_Boot (que ferait-on sans lui?)) qui permet de charger une image
pendant
le jeu :
ORG $BE00
BIT
$C0E9 ; allume dirve
LDA
TABLE1,Y ; table du nbr de secteurs à charger
STA NBR+1
CLC
ADC #$9F
STA $27
LDA
TABLE2,Y ; table du numéro des pistes
STA PISTE+1
LDA
TABLE3,Y ; table du numéro des secteurs
STA SECTEUR+1
PISTE LDA #$00
SECTEUR LDX #$00
NBR LDY #$00
JSR
$08CD ; go to Acco_Boot
LDA
#$40 ; page HGR2
STA $E6
JSR
$BF00 ; go to graphik decomp
LDA
#$CF ; routine de recalibration
à mettre ici!
STA
$27 ; (cf. plus haut!)
LDA
#$00 ;
LDX
#$01 ;
LDY
#$01 ;
JSR
$08CD ; Acco_Boot for ever!
Rem : valeurs propres à la version
réalisée par LCKD.
* table du nbr de secteurs à charger :
TABLE1 HEX 110F10110F0E12110E1014120D
* table du numéro des pistes :
TABLE2 HEX 07060707060709070608080402
* table du numéro des secteurs :
TABLE3 HEX 11100F0E0D0C0B0A0908070605
La version TBT va de la piste $00 à $12, ce qui
nous laissait presque une
demi-diskette pour la signer, c'est pour cela j'ai fait une longue
présentation
(104 secteurs) pas compressée, mais codée par EOR #$.
Aussi si vous voulez la
shunter, je vous file le truc car je suis vraiment super cool :
à l'aide d'un
éditeur de secteurs (tel Diskfixer), lisez la P$13,S$0C, et
décodez la (EOR
#$24 (option X sur Diskfixer)), puis écrivez ce secteur en
P$00,S$00 => Boot 1.
On aurait aussi pu faire la version Tetris DHGR 16
secteurs mais notre
original (fourni par Mister Z) buggait, alors pas de chance c'est ACS
qu'il
la fait... D'ailleurs on peut remarquer que leur version ne sauve pas
les
scores, et que leur signature fait 27 octets et la notre 104 secteurs;
c'est
sur, ils ont mieux à faire sur GS!!!
Maintenant, je vous file un fix made by moi (TJS), et qui
ne sert vraiment à
rien (comme beaucoup de fixx!) : Comment ne pas augmenter de niveau?
Première façon (à l'aide la touche I)
: P$2/C.F2 : 09 => 00
00EA: CMP
#$49 ; vérifie l'appui de la
touche I (pour "increase"!)
BNE
$0145 ; si rien va en $0145
LDA
$787E ; charge la case mémoire du
niveau
CMP
#$09 ; la compare à 9
(dernier niveau)
BNE
$00F8 ; si moins de 9, va en $00F8
JMP
$7E21 ; continue normalement
00F8: INC $787E ;
incrémente de 1 le niveau et continue
Deuxième façon (pendant la progression
normale du jeu) : P$3/0.A1 : 09 => 00
009D: LDA $787E ;
charge la case mémoire du niveau
CMP
#$09 ; la compare à 9
BEQ
$00BF ; se branche si égal
à 9
Maintenant je me permet de dévier un peu le but des
fichiers de Crack-Ware :
plus de crack, ni de fix, un peu de bla-bla! A mon grand avis, Tetris
fait
partie des must des jeux sur Apple 2 au meme titre que Lode Runner,
Karateka,
Black Magic ou Airheart... Je suis passionné par ce jeu, et je
ne suis pas le
seul, c'est pourtant étrange car je ne joue JAMAIS à
aucun jeu sur Apple 2.
Au début où est arrivé Tetris,
c'était des grands combats avec Oliver Twist,
puis Loockheed si est mis, enfin ce fut mon pote commodoriste The
Thitan, puis
mon frère PJC, et malheureusement mon père s'accapara de
mon Apple pour y jouer
jusqu'à 1 heure par jour et régulièrement,
c'était la joie dans la maison TJS!
Parallèlement, Copperfield me disait que sa
mère et sa soeur y jouait aussi
régulièrement et que sa soeur TB faisait de gros
progrès. Puis parlant à Auror
de ce jeu, il m'affirmait qu'il dépassait aussi les 100 lignes
(sur sa
version ST) et qu'il y jouait avec sa copine CF.
A ma grande satisfaction et fierté, je fut le
premier de toutes les
personnes citées au-dessus à dépasser les 10.000
points, et d'ailleurs encore
aujourd'hui personne ne les dépasse.
J'en suis arrivé à 12.720 points,
c'est-à-dire 170 lignes (score très
honorable, je pense!).
Pendant mes vacances avec Copperfield en Espagne, nous
sommes allé souvent
dans les salles de jeux, et j'ai trouvé Tetris (version
Coin-Op), version
différente, par étape, très bien
désignée, musicale, et beaucoup plus dure. Et
surtout la possibilité de jouer à deux joueurs,
simultanément... Ce fut donc
des grands combats avec la soeur de Copperfield, combats qui
atteignaient des
proportions gigantesques et massaient des admirateurs derrière
nous. J'avoue,
pour une fois, avoir trouvé une personne à ma hauteur
à Tetris. En regardant
les autres joueurs au gré des jours, personne ne me
dépassait : 111.000 points,
121 lignes, 11ème niveau avec seulement une pièce de 25
pesetas...
Je recherche toujours des honorables joueurs à
Tetris, mais mes recherches
sont vaines, dommage... 7 mois après, je suis toujours
envouté par ce jeu...
Et maintenant, je vous explique ce qu'est un tétris
(en soviétique) car ce
n'est pas marqué dans la version Apple 2 : c'est tout simplement
lorsque vous
arrivez à faire 4 lignes avec l'ajout d'une seule pièce :
une barre, dans un
bloc de pièces bien homogène...
Bon alors, t'es triste! (jeu de mots)...
_TETRIS__________________________________________________________THE_JOKERSOFT_
Retour sommaire
Test Drive.
_______________________________________________________________________________
TEST DRIVE (C) ACCOLADE -=- Fichier par
Copperfield from The Brain Trust
protection : pistes LARGES !!!
exclusivité CRACK-WARE !!!
_______________________________________________________________________________
Intro : GDF n'a pas réussi et nous non plus à
l'époque => donné ACS
Pour Crack-Ware, on a
réessayé ...
thanx to Mister Z
Test Drive fut un logiciel acheté par The Jokersoft, au
tout début du BRAIN
TRUST. Débutant comme entité de déplombage,
Loockheed et The Jokersoft en
essayant de le déplomber furent mis en échec. (moi
j'étais en vacances en
Espagne ! Mais ça n'aurait rien changé car à
l'époque nous n'étions pas en
mesure de le faire).
Ils décidèrent donc de le donner à Godfather
pour que LUI, le déplombe.
Seulement voilà, gdf après quelques jours passés
dessus, s'avoua vaincu,
autrement dit : l'échec. Cependant que nous n'y arrivames pas
encore ne fut pas
trop honteux, mais que gdf, qui criait partout etre le plus grand
déplombeur
de la galaxie échoue, alors là ça fait mal...
La mort dans l'ame, gdf donna ce soft finalement aux gars d'ACS
(qui font
un carton actuellement sur GS...) Il fallut 3 jours au Gog's pour le
déplomber.
Mister Z, un autre déplombeur (Suisse), qui s'illustre aussi par
son talent,
mit une bonne journée.
C'est la raison pour laquelle la recette du déplombage de
ce jeu ne fut pas
expliquée dans déplombage mode d'emploi 9 (qu'il est pas
bo...).
Ne voulant pas rester devant un échec qui faisait tache
noire à notre palmarès
et pour que vous sachiez tous comment le déplomber alors que gdf
ne sait
toujours pas, je me suis procuré un original de Test Drive et je
me suis mis à
son déplombage.
Résultat : commencé à 0h fini à 3h.
Sachez que je dois faire une nuit blanche pour vous expliquer
comment j'ai
fait, et qui de plus est en restant clair...(dire que j'ai cours
aujourd'hui !)
=-------------------------------------------=
!
!
! Le déplombage de TEST DRIVE (C) Accolade. !
!
!
!
(K)
Copperfield
!
!
!
=-------------------------------------------=
Désolé pour la méthode un peu
résumé mais je suis à la bourre...
Les initiés ne peuvent lire que les trois premières
lignes et passer à la
suite (la ou on a des tirets...). Grands néophytes (pas trop
quand meme !)
ce qui suit est pour vous !
Le disque est en Dos Patched, c'est à dire que les
trailers de fin de champs
de données et d'adresses ont été modifiés,
et ne sont pas vérifiés dans ce
logiciel.
(Ces fins de champs ne sont pas les meme que ceux du format
normal.)
Les plombeurs ont dit en fait à la RWTS de l'original:
"hép vieux !, t'as pas
besoin de vérifier les entetes de fins de champ, vu que tu sais
où sont leurs
débuts".
Cependant, quand vous en faites une copie au LFB (Locksmith Fast
Backup),
celui-ci n'arrive pas à lire la disquette tout simplement parce
que lui vérifie
les fins de champ (pour une question de fiabilité). Si vous
voulez copier une
disquette en Dos Patched, prenez Disk Muncher.
Bon pour remettre cette disquette au format normal il suffit de
la lire sans
vérifier les fins de champ et d'écrire ce que l'on a lu
en mettant les trailers
standarts du format du DOS. Il existe un programme qui est courament
utilisé
pour ce type d'opérations, appelé Advanced Demuffin (en
référence au Muffin ou
Demuffin du DOS qui servait à transférer les disques en
13 secteurs en 16
secteurs par pistes). Pour utiliser ce programme c'est simple :
formattez un
disque avec l'option servant à cet effet, puis prenez l'option
"quit to
assembler" (Q), ceci étant fait tapez B942:18. Pour ne pas trop
rentrer dans
les détails (because faute temps), je vous dirai que cela sert
à dire à notre
RWTS: "hé vieux ! T'as pas besion de vérifier...".
Puis tapper <CTRL-Y> pour revenir au programme. Prendre
l'option no.1 et
suivre les instructions.
Passons maintenant au boot tracing de ce programme, voici ce que
cela donne :
Le Boot 1 : - Se move en $200
- Inits sortie clavier
- Met en $801 le JMP $23C
- Technique de l'Acco_Boot (saut en $C65C avec en ($26) l'adresse
du buffer et
en ($3D) le secteur LOGIQUE à charger).
- JSR $027F: Charge 8 secteurs (nombre en $265); les prend dans
la table
située en $2C3 indexée en Y (valeur de Y prise en $25F)
le numéro de secteur et
le charge dans le buffer d'adresse haute située en $263 (valeur
mise en $27).
On charge donc : P$00 S$E logique soit S$8 physique, en
$FF00
P$00 S$1 " "
S$7 " en $FE00
P$00 S$3 " "
S$6 " en $FD00
P$00 S$5 " "
S$5 " en $FC00
P$00 S$7 " "
S$4 " en $FB00
P$00 S$9 " "
S$3 " en $FA00
P$00 S$B " "
S$2 " en $F900
P$00 S$D " "
S$1 " en $F800
- $83F: revectorise la banque, la commute et saute en $F800. Si
on veut voir
ce qu'il y a en $F800 on est obligé de faire un petit mover, car
cette partie
est effacée par la ROM de l'Apple chaque fois qu'il nous rend la
main (cf
fichier de Loockheed sur Neuromancer) sur la nécessité de
faire 1 mover et
impossibilité d'utiliser rt. en ROM (ex.: JMP $FF59) car $E000
à $FFFF (ROM)
nicked (dont $F800 à $FFFF utilisé). Donc pour voir ce
qui a été mis en RAM
soit voir direct sur disk (cf. tbl donnée ci-dessus) ou faire 1
tracer fou :
1600<C600.C6F8M N 16F8:A9 17 8D 59 08 4C 01 08
et en $1700 mettre ce petit prg :
(pour ceux qui ont un mini-assembleur)
1700: 2C 83 C0 BIT $C083
1703: 2C 83 C0 BIT $C083
1706: A2 00 LDX #$00
1708: BD 00 F8 LDA $F800,X
170B: 9D 00 28 STA $2800,X
170E:
E8 INX
170F: D0 F7 BNE $1708
1711: EE 0A 17 INC $170A
1714: EE 0D 17 INC $170D
1717: AD 0A 17 LDA $170A
171A: D0 EA BNE $1706
171C: 2C 81 C0 BIT $C081
171F:
60 RTS
(expliquance du prg...cf. fichier Neuromancer !!!)
soit directement en moniteur :
1700: 2C 83 C0 2C 83 C0 A2 00 BD 00 F8 9D 00 28 E8 D0 F7 EE 0A 17
EE 0D 17
AD 0A 17 D0 EA 2C 81 C0 60
Et on lance notre traceur ! : 1600G
Une fois que l'on retrouve la main, tout ce qui aurait du etre de
$F800 à
$FFFF, se trouve situé de $2800 à $2FFF.
On trace le programme en assembleur, cela nous donne ceci :
(pour plus d'informations regardez vous-meme !)
$F800 -> $F85B -> $F88C -> $F8C8 -> $F817 -> $F858: JMP
$D000
Et bien que cela ne tienne on continnue le tracing du soft...
On veut maintenant court-circuiter le JMP $D000, pour cela on
modifie notre
traceur...
1700: A9 83 C0 LDA
$C083
1703: A9 83 C0 LDA
$C083
1706: A9
14 LDA #$14
1708: 8D 59 F8 STA
$F859
170B: A9
17 LDA #$17
170D: 8D 5A F8 STA
$F858
1710: 4C 00 F8 JMP
$F800
1713:
EA
NOP
1714: 4C 59 FF JMP
$FF59
(Si vous etes malgré tout en mode graphique ou 80
colonnes, faites :
3F2:59 FF 5A (on vectorise le reset) Puis <CTRL-RESET>)
(*1) Pour pouvoir voir ce qu'il y a en carte language (à partir
de $D000),
faire :
C081 C081 F000<F000.FFFFM C08B C08B (cf fichier Neuromancer)
En regardant un peu ce qu'il y a à partir de $D000 on voit
un JSR en $EEDC
retenez cette adresse, c'est celle de la routine qui va décoder
la protection!
Cette routine est en source sur la face 3 du monument qu'est
Crack-Ware.
NOTE : la routine de décodage se sert de clés de
décodage situées en $1F10.
Le programme va charger quelque chose à partir de $7F00,
en mémoire
auxiliaire, juste un peu avant d'exécuter le programme. Donc
débrouillez-vous
pour bloquer le programme juste avant qu'il fasse son saut en $EEDC
(j'ai bien
dit : juste avant !). (faites-le soit en modifiant le traceur à
votre guise ou
soit en modifiant directement sur le disque (ce qu'il y a en
$D000 se trouve
sur la piste 1 secteur 0).
Maintenant que nous avons bien interrompu le programme juste
avant le
JSR $EEDC. Maintenant nous allons bouger la protection qui est en
mémoire
auxiliaire, pour bouger de la mémoire auxiliaire vers la
principale, faire :
3F8: 18 4C 11 C3 puis 7F00<7F00.BFFE <CTRL-Y> (cf. moves dans
Neuromancer).
Notez les 10 premiers octets codés (cela nous sera utile
plus tard pour les
scanner sur disque...) vous devez avoir :
7F00: AC 04 0B 24 6E 39 CF 9F 71 07
Lançons alors le programme décodeur (en ayant bien
pris la peine de commuter
la carte language (cf *1)
Regardons maintenant ce que nous avons en $7F00...
Toutes les opérations faites sur la valeur en adresse $201
sont faites de
sorte qu'à la fin on ait : $201:00 original
$201:FF copie
...
........ .........
7F52- AD D9 82
LDA $82D9 )
7F55- 49
77 EOR
#$77 )-> A=$21 (piste $21)
7F57- 20 85 80
JSR $80D5 -> va en piste $21 (Seek-Abs)
7F5A- AD D9 82
LDA $82D9 )
7F5D- 49
77 EOR
#$77 )-> A=$21 (piste $21)
7F5F- 20 B5 80
JSR $80B5 => Avance d'1/4 de piste
7F62- 20 8D 80
JSR $808D -> verifie les Adress Marks de tous les
secteurs
7F65- 90
0B BCC
$7F72 -> C'est OK
7F67- CE AD 82
DEC $82AD )-> autre essai, décompte du compteur
) d'erreurs
7F6A- AD AD 82
LDA $82AD )
7F6D- 8D 01 02
STA $0201 )
7F70- 10
E0 PBL
$7F52 )
7F72- A9
07 LDA
#$07 )-> lit un secteur
7F74- 8D AE 82
STA $82AE )
7F77- 20 9C 7F
JSR $7F9C )
7F7A- CE AE 82
DEC $82AE )-> lit un autre secteur
7F7D- 20 9C 7F
JSR $7F9C )
7F80- A9
FF LDA #$FF
7F82- 20 F9 FF
JSR $7FF9 -> avance d'1/4 de piste
7F85- CE AE 82
DEC 82AE
7F88- 10
ED BPL
$7F77 -> continue (le tout pris 4 fois)
....
........
......... -> Fin
Le schéma de la protection est la suivante : la piste $21
est dite "large",
c'est à dire qu'elle s'étend entre la piste $21 et $22.
Sa vérification se fait comme suit :
- on va sur la piste $21
- verifie les headers ) ceci est
- lit 2 secteurs
) exécuté
- avance de 1/4 de piste) 4 fois
Il n'y a aucun de pronlème puisque les pistes :
21, 21 1/4, 21 1/2, 21 3/4 et 22 sont identiques.
De ce fait le but du déplombage est de le laisser lire les
secteurs mais l'
empècher de déplacer la tete de lecture de 1/4 en 1/4 de
piste !
Donc pour le déplomber:
....
........ ........
7F47- A9
00 LDA #$00
)-> $201= 00
7F49- 8D 01 02
STA $201 )-> Good disk
7F4C-
EA
NOP
....
........ ........ )-> on
va quand meme aller jusqu'à la piste
$21 (il faut qu'on lise les secteurs)
7F5F-
EA
NOP )-> cependant on n'avance plus de
1/4 en 1/4
7F60-
EA
NOP )-> de piste
7F61-
EA
NOP )
7F62-
EA
NOP )-> plus de vérification
des secteurs
7F63-
EA
NOP )
7F64-
18
CLC )
....
........ ........
7F82-
EA
NOP )-> n'avance plus !
7F83-
EA
NOP )
7F84-
EA
NOP )
Voila et là c'est déplombé...
Il ne reste plus qu'à écrire tout ca sur disque (le
plus dur ça a été de
tout comprendre !).
Pour écrire sur disque, scanner les 10 1ers octets
codés vous les trouverez
piste $6 secteur $6.
Chargez Mobby Disk, avec l'option l'option charger un fichier
<C> chargez le
source assemblé à l'adresse où vous l'avez
assemblé. Puis chargez la piste $2
secteur $2, décodez le secteur chargé grace à la
routine, faites vos
midifications comme indiqué ci dessus... Puis recodez tout
ça en refaisant
un saut à la routine qui décode (elle marche dans les 2
sens (code-décode)).
En prenant bien soin de remettre les conteurs de ce qu'il faut coder aux
bonnes adresses. Puis une fois codée, réécrivez
votre secteur déplombé !
Je me doute bien que seuls les non néophytes arriverons au
bout de ce crack,
meme avec mon expliquation !
Soit directement sans se creuver : P$6/S$6:
octet $47: B4 01 88 08 0F FB
octet $5F: 31
octet $62: 11 E7 FB
Je donne vraiment çà pour les fainéants qui
savent se servir que d'un éditeur
de secteurs.
Test Drive, a file by Copperfield (6:49 am, Moi, Dodo!)
Retour sommaire
The Last Ninja.
_____________________________________________________________________________
!
!
! THE LAST NINJA (C) 1988
Activision
THE JOKERSOFT !
!_____________________________________________________________________________!
Je vous propose un nouveau petit fix pour The Last Ninja
car vous ne lirez
pas de fichier sur le déplombage de ce soft car il s'agit d'une
transcription
18 en 16 secteurs :
- P$10/5.B2 : 03 -> 08 => 8 vies au max.
- P$03/5.27 : C6 -> A5 => vies infinies (case mém.
$EE)
_THE_LAST_NINJA__________________________________________________THE_JOKERSOFT_
Retour sommaire
Thexder.
_____________________________________________________________________________
!
!
! THEXDER (C) 1989 Sierra
On-Line
THE JOKERSOFT !
!_____________________________________________________________________________!
Thexder est une importation d'Italie, et il n'était
ni plombé, ni signé!
Mais voulant aller plus loin que d'apposer la griffe BRAIN TRUST sur un
soft de
plus, Copperfield m'a poussé à faire un fixed game, et il
n'avait pas tord,
m'affirma Loockheed. Alors ce fut fait la nuit meme, et la premiere
version
qui fut copié fut une version fixint. Dans ce fichier, je vous
donne les
paramètres de ce fix (attention! ces données (pistes,
secteurs, octets) ne
fonctionnent que sur la version BRAIN TRUST car j'ai remanié
tout le disk et
son catalog...) :
Sur la version DHGR :
Il charge le fichier THEX1 (offset $2000, chargé en $1800)
P$9/2.10 : 01->00 (adr $490C) => décrément quand
vous touchez certains sols!
P$9/3.AA : 01->00 (adr $48A6) => décrément quand
vous touchez les ennemis!
P$9/B.D6 : 01->00 (adr $40D2) => décrément quand
vous touchez certains murs!
En effet, à chaque fois, on trouve la sub-routine suivante :
:LDA $75
:SEC
:SBC #$01
:STA $75
Et pour ne pas perdre 10% d'énergie à chaque fois que
vous prenez le shield
(button 1) :
P$8/D.D0 : 0A->00 (adr $4ECC)
Mais voulant toujours aller plus loin dans ce must du jeu
d'arcade sur
Apple 2, je découvris que, dans le programme de boot en basic de
Thexder, il
analysait si vous disposiez de 64 ou 128 Ko en mémoire vive, et
vous chargerez
la version correspond à votre machine. Alors c'est pour cela que
j'ai rajouté
la question VERSION DHGR PLAYING (Y/N) ? uniquement à l'usage
des possesseurs
de 128 Ko, car la version HGR est aussi superbe. Alors voici les
paramètres
sur la version HGR :
Il charge le fichier THEX (offset $2000 chargé en $1800)
P$C/4.1E : 01->00 (adr $481A) => sols
P$C/5.B8 : 01->00 (adr $47B4) => ennemis
P$C/D.F1 : 01->00 (adr $3FED) => murs
P$B/F.5D : 0A->00 (adr $4D59) => shield
_THEXDER_________________________________________________________THE_JOKERSOFT_
Retour sommaire
Tomahawk
_____________________________________________________________________________
!
!
! TOMAHAWK (C) 1987 Datasoft/Intellicreations (K) THE
JOKERSOFT - / 6/88 !
!_____________________________________________File : THE
JOKERSOFT_-_26/ 2/89_!
L'original de Tomahawk est copiable au Locksmith, mais la
duplication plante
en écrivant : PLEASE USE ORIGINAL DISK, après avoir
affiché la page texte puis
la page graphique de présentation. Boot traçons alors le
soft :
]CALL-151
*1600<C600.C700M
*16F8:4C 59 FF
*1600G
*C0E8
*801L
En $801, il JuMPe en $87E qui correspond à la
routine suivante :
*87E:A2 79 LDX
#$79 ; met $79 dans X
*880:BD 04 08 LDA
$804,X ; charge les octets à partir de
$804
48
PHA ;
empile A
4A
LSR ;
décale le résultat à droite
68
PLA ;
dépile A
6A
ROR ;
rotation à droite
9D 04 08 STA
$804,X ; stocke chaque octet à partir de
$804
CA
DEX ;
décrémente X (804 puis 805, 806, etc...)
D0
F3 BNE
$880 ; tant que cela n'a pas
été fait $79 fois,
retourne en $880.
4C 14 08 JMP
$814 ; saute en $814
Ce qui correspond donc à une routine de
décodage des $79 octets à partir de
$804 et qui finit par sauter en $814.
Cette routine en $814 permettra de charger le boot 2 du
programme et de le
décoder de la meme façon : *86D:PHA LSR PLA ROR
Mais, Oh chose très intéressante, on
s'aperçoit qu'à la fin de cette seconde
routine : $87B:JMP $43CB, allez vite on y va!!! : 43CBL
En premier, il analyse si l'Apple dispose de 64 ou 128Ko
de RAM, si cela ne
convient pas, il vous envoit en $45BA, et alors là vous avez une
diskette
vierge en plus.
En second, il va faire ce meme test une deuxième
fois. Bon, mais passez ces
2 épreuves, il arrive en $43EB.
En $43EB, il commence par vectoriser le reset sur $800,
il JSR en $45A8 où il détruit la page HGR de façon
invisible,
il l'affiche, donc elle sera noire,
il JSR en $4510 où il charge des données (X =
numéro des pistes),
il repasse en mode TEXT,
il JSR en $4597, sans intéret,
il JSR en $4458, allons analyser ce que l'on peut y trouver :
En $4458, il compare le format de la diskette avec le
format original de la
diskette master. Et on retrouve le format que l'on a sur tous les
DataSoft (càd
Force 7 ou Alternate Reality : The Dungeon), on a donc :
CC (c'est là que ça cloche!) AA 96 stocké en $4595
puis
D5 DE AA EB stocké en $4596.
Il faut donc tout simplement inhiber cette sub-routine qui
analyse le format
de la diskette pirate, pour cela il faut mettre un RTS à son
commencement càd.
en $4458!
Mais voilà, maintenant que le tracing du boot et de
la protection est fait,
il faut rechercher cette sub-routine sur le disk, mais Achtung, grosse
malheur,
on a dit plus haut qu'elle était codée, et ce n'est pas
un bete codage comme
un EOR, ou une rotation simple, ou un décalage simple de bits.
Alors que faire
à part aller vider les poubelles car les éboueurs passent
demain matin.
"Ben, euh, je sais pas!", nous dit le petit Jean-Philippe,
"IL FAUT...", nous répond Monsieur TJS de la ville
des Toons,
Il faut mettre un RTS en $4458 après avoir
chargé et décodé le boot 2, mais
avant de sauter à ce boot 2, càd. dans le boot 1 de tout
à l'heure. A la fin de
la routine du boot 1 qui a été décodée, on
avait un JMP $43CB en $87B, ainsi on
écrit : *87B:A9 60 8D 58 44 4C CB 43
On sauve ce boot 1 ainsi modifié en P$0/0, en ayant
aussi mis : *801:4C 14 8
car on a plus besoin de décoder ce qui a déja
été décodé et qui n'en a plus
besoin!!! Et, c'est fini...
Maintenant si on regarde les équivalents ASCII des
mnémoniques du boot 1
décodés de Tomahawk, on trouve dans la fin du boot 1, un
booo source qui a
surement servi pour Tomahawk, Ah, ces programmeurs, ils laissent
toujours
trainer leurs chaussures partout!!!
De plus, on peut recupérer la page text et la page
graphique de Tomahawk
qui se trouvent dans les premières pistes de la diskette (pistes
croissantes
et secteurs décroissantes, je crois!).
Encore, de plus, on peut facilement mettre Tomahawk en
catalog, car il
charge en une fois aprés la présentation, et qu'il n'est
pas très long (il ne
dépasse pas la moitié du disk!).
_TOMAHAWK________________________________________________________THE_JOKERSOFT_
Retour sommaire
Victory Road.
_____________________________________________________________________________
!
!
! VICTORY ROAD (C) 1988 Data
East
LOOCKHEED + THE JOKERSOFT !
!_____________________________________________________________________________!
Victory Road est une importation du Canada, il
était déjà déplombé par les
Coast To Coast (très célèbres crackers outre
Atlantique). Alors nous vous
proposons son fix :
- P$1B/7.06 : 00 => level (C.M.$06)
- P$1B/7.0C : 04 => vies (C.M.$05)
- P$19/F.37 : C6 -> A5 => vies inf.
Une version TBT's fixint circule sur le circuit appleiste
national!
_VICTORY_ROAD________________________________________LOOCKHEED_+_THE_JOKERSOFT_
Retour sommaire
The Games : Winter Edition.
_____________________________________________________________________________
!
!
! THE GAMES : WINTER EDITION (C) 1988 Epyx
Cracked by LCKD+TJS - 17/ 1/89 !
!_____________________________________________File : THE JOKERSOFT_-_
6/ 2/89_!
Tu veux de la protection Epyx et bien en voilà.
Nous sommes reparti pour
vous expliquer ce type de désynchro de pistes appliquée
à The Games : Winter
Edition.
Faire une copie demuffinisée de l'original.
Appliquons la technique du boot-tracing.
En analysant le boot 1, on trouve en $84A un JMP $BB00,
listing où se
trouve la protection.
On recupère les valeurs de désynchro par la
méthode habituelle. On trouve
FC EE EE FC E7 EE FC E7.
Puis on implante notre chère routine en $BB00 pour
décoder tout ça (ici,
cela correspond à la piste $00, secteur $05, octet $00 :
A2 07 LDX #$07
BD 10 BB LDA $BB10,Y
95 F0 STA $F0,Y
CA DEX
10 F8 BPL $0002
4C 18 BB JMP $BB18
00 00
FC EE EE FC E7 EE FC E7
Et ça boot impec.
_THE_GAMES_:_WINTER_EDITION______________________________________THE_JOKERSOFT_
Retour sommaire
Auto-interview d'Oliver Twist.
_______________________________________________________________________________
Auto-Interview Mégalomanesque de l'Oliver TWIST...
Hé oui... 12/9/89
_______________________________________________________________________________
Hallo !!!
C'est la sagesse du cours de Philo dans lequel je me
trouve en ce moment qui
m'a mis sur la voie, m'a illuminé et m'a conforté dans
l'idée que ce fichier
était indispenssable dans l'oeuvre que vous avez sous vos drives.
En effet, vous avez eu le droit, dans Cool-Ware, à
une interview de
l'immonde GDF (Erreur de notre part ??? Je m'en fous, je n'était
pas encore au
Brain Trust...), puis, dans Cool-Ware //, à celles de Patchman
et de Mister Z.
Donc, si on fait un peu le point en triant le contenu de ces trois
fichiers, en
prenant en compte l'unique critère de sélection suivant :
- L'utilité utilitaire,
- Le niveau intellectuel des interviewés,
- La beauté et la virilité de ceux-ci,
- La sympathie de l'individu,
- Son incorruptibilité,
il ne reste plus qu'une seule personne de valable; c'est notre petit
Patchounet
à nous. Je ne vois absolument pas pourquoi un membre du Brain
Trust ai eu le
droit à son interview et qu'il n'en soit rien pour MOI...
Seulement voila, la
merde indéniable des interviews, c'est qu'on ne connait pas les
questions (si,
en politique... mais bon... je ne tiens pas à me faire virer
moi...).
C'est pourquoi j'ai décidé de faire mon propre
questionnaire, sans risque
pour MOI et permettant aussi d'étaler ma mégalomanie
intense. Le JokerSoft
(LJS ???) a bien fait sa lettre ouverte, alors... Let's go :
-Nom, prénom, études, age et Q.I.?
Nom : si !
Prénom : Heu,
Olivier, mais t'es con ou belge ???
Etudes : Le moins
possible... En ce moment je suis en T.D.
Age : Qu'est ce que
ça peut vous foutre ??? 18...
Q.I. : 8192 * 10^5
-C'est quoi ton role au sein du Brain Trust, fumier ?
En fait, je préfère me
classifier en plusieurs catégories :
1) Glandeur : Je crois que
je fais trés fort.
2) Déconneur :
Peut-etre un peu trop ??? Qu'est-ce que vous en pensez
les autres ?
3) Programmeur :
Présentations, boots, utiltaires...
4) Déplombeur : Ah,
quand meme ???
5) Bombe sexuelle : Il faut
bien l'avouer...
6) Combleur de place dans
nos productions : Voir fichier Cool-Ware //
(protections.), celui-ci et l'exclusivité Hard-Core ///.
-Et c'est quoi qu'tu veux faire plus tard, crevure ?
J'aimerais bien coupler
l'informatique, l'électronique et la génétique.
Ce sont déjà mes trois passions mais qui ne
m'intéresseraient qu'ensemble... Je
ne me vois pas bosser dans un seul de ces domaines... Et puis la
modification
du patrimoine génétique s'apparente un peu aux
déplombages et aux fixx...
-Tu penses quoi de ton passage (Trop rapide) sur Apple // ?
Ca fait trois ans et demi
que j'ai mon //c... J'ai commencé
l'assembleur six mois après l'avoir acheté, puis, deux
mois plus tard, je me
suis mis au déplombage... C'est, je l'avoue, un démmarage
très rapide... Mais
je voulais un peu parler de mon apprentissage des bases du
déplombage... C'est
grace aux cours de l'ignoble GDF que j'ai pu débuter dans le
déplombage... Vous
allez me demander pourquoi je critique ces cours alors que ce sont eux
qui
m'ont crée... (On n'exagère pas trop quand meme...) Bon,
alors j'explicationne:
Vous connaissez tous la petite phrase préférée de
l'infame ??? (Ouais, je met
l'infame, c'est un peu plus long à écrire mais je ne
voudrais pas que son nom
figure trop dans ce fichier... Remarquez, on peut trouver un
abréviation...
IFM, c'est trop classe pour lui, il faut trouver un truc bien beauf :
NAM,
voila, ça c'est cooolll !!!)
Phrase de NAM : Un jour, vous deviendrez aussi grand que moi...
Je trouve cette phrase tout
à fait fausse si on considère l'image qu'il
se fait de lui meme, par contre si on considère la
réalité, c'est en effet au
niveau de tout le monde d'arriver à son niveau... Enfin bref, Il
disait aussi
qu'il était tout à fait possible de déplomber un
soft sans connaitre
l'assembleur... Oui, on peut... Tout comme un plombier peut
préparer une pense
de brebie farcie s'il a la recette sous les yeux... C'est à dire
qu'en effet
ses élèves sont capables de déplomber le soft
qu'il donne avec (donner ou
vendre ???) mais qu'il faut qu'ils s'accrochent à fond pour en
déplomber un qui
aurait la meme sorte de protection, un tout petit peu
modifiée... Non, pour
devenir un déplombeur, il faut déjà etre
qualifié en assembleur et avoir la
logique de ce langage... Ces cours ne sont donc qu'utile pour un type
qui va
chercher à tout comprendre en refaisant le déplombage du
début jusqu'à la fin,
et pas simplement changer les trois octets que NAM lui a dit de
changer... Une
preuve flagrant de leur innefficacité pour les types qui en
connaisse peu,
c'est le déplombeur automatique des Epyx; meme si la protection
n'a pas changé
depuis des décennies, il peut etre intéressant pour un
débutant-déplombeur de
la réétudier... Enfin bref, on a tous les cours de
NAM au Brain Trust alors :
Si vous en voulez sans vous
ruiner, vous les aurez... Mais enfin bon...
A part ça, ça
me fout les glandes de partir maintenant... Je ne sais
pas si vous immaginez que je vais me galerer pendant tous mes cours de
Philo
sans savoir quoi foutre... Chier... Non, mais je déconne plus
là... Vous pouvez
pas savoir comment j'ai la haine... Que faire, acheter un //GS ??? Ca
marche
pas en France; sauter sur le nouvel Atari STE et etre obliger de
repartir du
début... Ca me ferais chier d'aller sur cette marque... On verra
bien... Une
autre question ???
-Oui, quelle heure est-il ?
17 h 17...
-Merci, on a parlé pendant un moment d'une
émission chez Dechavanne...
Oui, on en a d'ailleurs un
peu trop parler à mon gout... J'avais eu
cette idée avant d'etre au Brain Trust mais je n'en avais jamais
parlé à
personne... Puis, lorsque j'ai remarqué que les membres du Brain
Trust étaient
eux aussi une salle bande de mégalos, je me suis adressé
a Sophie Russel, une
assistante de Christophe... Je suis allé la voir à la
SFP, et on a causé
pendant près d'une heure... La discussion apparaissait
très satisfaisante, elle
étonnée par ma beauté débordante et moi
subjuguée par son décolté surprenant,
l'affaire se présentait bien... Je me rappelle encore de cette
dernière phrase
qui, sortant de sa bouche telle une mélodie gracieuse et
hypnotisante qui vint
me chatouiller le tympan droit :
"Pas de problème, on se rappelle cette semaine, et
normalement la semaine
prochaine", Ah! que c'est bon...
Bon, au bout d'un mois, je
me suis dis qu'il ne serait pas inutile de
rappeler l'insolente qui me répondit aussitot :
"Oh, ben faut pas vous inquieter, votre sujet est
affiché sur le planning et
puis ça va plus tarder..."
Je ne vous fais pas part des
discussions suivantes où sa voix quelque
peu Fauxculesque commençait sérieusement à me
prendre le choux... Toutefois,
l'émission n'est pas totalement tombée à l'eau
puisque l'autre jour (Enfin,
y'a bien 3 mois), j'ai eu une autre personne de l'équipe
à DeDe qui, je crois,
s'appelle Fréderique, et qui m'avait dis que ce n'était
pas du tout à Sophie
qu'il falait s'adresser pour ce genre de truc mais que c'était
mieux que si
c'était elle... Enfin bref, toujours pas de nouvelles... Mais
peut-etre que,
dans un futur proche... Le truc Cooolll, c'est que maintenant qu'on est
mort,
on va pouvoir montrer nos tronches, visage découvert (en
argent), et puis que
ça peut étre cooolll... Ah que ouais... M'enfin bon, on
est plus trés
pressés...
-Quel est le plus bo crack que tu es le plus fier et que
tu es hein ???
Alors, incontestablement et
sans hésitation, je dirais que c'est
Flight simulator II... Ce n'est pas le plus balaise que j'ai fais mais
je l'ai
déplombé quatre mois après avoir commencé
le déplombage... J'en ai bavé mais
au moins j'ai senti en moi monter une nouvelle sensation étrange
et venue
d'ailleurs qui... Enfin bon... Sinon, juste après, j'ai
tenté de me faire "La
Bète du Gévaudant" mais elle a pas voulu la salope... Il
faut dire que j'étais
encore très jeune et que le 18 secteurs m'était encore
incunnu... Ce sont en
fait mes deux protections fétiches...
-Si on tu recommences sur une autre machine, sera-ce t-il
que un autre
pseudo, tu auras ???
Trés certainement...
-Et on peut le connaitre ?
Non !
-Alors saura t'on que ce nouveau pseudo cache un ancien
Oliver TWIST ?
Ca dépend; si je
redémmare seul sur une autre marque il y a peu de
chance pour que vous le sachiasse... Mais les nouvelles courent si vite
de nos
jours... Par contre si on remonte un truc avec des membres du Feu-Brain
Trust,
je pense qu'on le criera au monde entier... Mais nous n'en sommes pas
encore
là, et puis je vous ai déjà dit que mon avenir
était pour l'instant incertain
au niveau du déplombage... Normalement je devrais recevoir un
coup de fil d'un
cracker Atari histoire de causer un peu... Mais rien n'est encore
décidé...
-Une dernière question mon brave... Etes vous aussi
bo que vous le dites ???
Allez, j'avoue tout et je
vous réponds franchement :
- NON... Je suis, en fait,
encore plus bo que je ne vous le dis...
Voila, sinon, je ne trouve
plus rien à vous raconter, mais sachez
quand meme que ça fout les boules de quitter une machine aussi
pratique à
utiliser, à programmer, et qui possède des protections
Ultra-Bandantes pour ne
pas savoir quoi faire... Vous en connaissez beaucoup de machine qui
possède un
CALL-151 qui permet de tout voir, de tout modifier... Quand je vois
l'utilisation du débugger sur Atari, CA ME SCIE LA BITE...
(c'est vous dire...)
Voici donc ma dernière
phrase sur Apple, pleine de sanglots et de joies
et puis j'arrete celle que je suis en train d'écrire parce que
ça ne me va pas
du tout de faire du dramatique... Mieux vaut l'informatique...
Mes chers Appelistes, je vous dis à bientot; la seule question
à se poser étant
oooo u u
o o u u
o o u u
o o u uu
oooo uu u
See you next...
_______________________________________________________________Oliver_TWIST____
Retour sommaire
Lettre ouverte de The Jokersoft.
_____________________________________________________________________________
!
!
! Lettre ouverte du JOKERSOFT / CRACK-WARE 25 sep 89 : my last file on
Apple! !
!_____________________________________________________________________________!
Crack-Ware : ne pas
dépasser la dose médicale prescrite!!!
Dans tout cela, Crack-Ware
(le plus dément free-ware sur la déplomb')
ne serait pas Cracvar s'il n'y avait pas un fichier blah-blah du
Jokersoft (là,
j'ai pas mis le THE car cela sonne mieux dans la phrase, mais vous
n'avez pas
interet à oublier cette particule de noblesse informatique!). Et
pourquoi
parler de Moi par Moi : tout simplement parce que je suis un type
GENIAL,
toutes mes copines vous le diront si vous avez l'occasion de les
rencontrer,
mais surtout ne le demander aux autres membres du Brain Trust, car ils
le
savent, mais n'oseront jamais l'avouer car ils revendiquent cette
qualité eux
aussi (Eh! On n'est pas mégalo pour rien! Bo'del!).
Mais vous direz : "c'est
facile de dire qu'on est génial, quand on ne
vit pas avec les gens". Bon d'accord, mais si vous voulez je peux vous
donner
un certificat signé de ma mère l'attestant, mais ma
mère, elle s'en fout de
l'informatique et puis elle en a "ras la touffe" de tous les coups de
fil, de
tous les messages minitellistes et de tout le courrier que je
reçois et
surtout que j'envoie... Je vous raconte pas la joie dans la maison
Jokersoft
lorsque que le petit TJS (je dis "petit" car je suis vraiment petit
pour mon
age!) a dit à ses parents qu'il arretait de faire de l'Apple (et
surtout quand
il a fait des annonces pour le vendre) et qu'il allait se consacrer
activement
à ses études de médecine. D'ailleurs pour
reprendre ce que je disais sur ma
taille et qui peut se consilier avec ce que je suis génial :
AuroR (mon premier
"associé" en informatique) m'appellait : "petit Nestlé"
car j'étais, selon ses
dires : "un concentré de bonnes choses". Pour ceux qui nous
connaitraient un
peu, je nie formellement et sur mon honneur avoir coucher avec AuroR,
tandis
qu'avec The Copperfield en Espagne, alors là je ne dis rien!
Ah le Copperfield, moi je
l'aime, il est gentil, bien élevé, il est
mignon, il parle bien au téléphone, et puis il baise bien
(si Cop., c'est
Adrianna qui me l'a dit (pjoke!)). Il faut que je vous avoue un secret :
pendant ces dernières vacances en Espagne, mon humble personne
et Cop. avons
fait un petit bilan des types qui sont sur Apple (2e/2c mais aussi GS)
et je
peux vous dire qu'on a cassé tout le monde et souvent pas
très gentillement :
du membre du Brain Trust au name-killer, du petit au grand (par la
taille),
du maigre au gros (par le poids), du blanc au noir, de
l'Européen à
l'Américain; sous peu que vous ayez un pseudo un peu connu, vous
avez été
passé au lance-flammes verbal de nous deux : vos oreilles n'ont
pas sifflé?
Mais (continuant dans ma franchise, après les coups bas!) Cop. a
un gros, gros
défaut : il est toujours en retard aux rendez-vous et ça
c'est agaçant, c'est
super énervant. Putain! Pour cela je lui mettrais bien ma main
dans sa gueule,
car au Brain Trust, on est des durs, des vrais, des mecs pas toujours
cool...
Et puis on l'a
prouvé, qu'on n'était pas toujours cool : vous n'avez
qu'à vous rappeller la Global Thermonuclear War avec gdf, et
puis les
adresses filées dans Cool-Ware 1 et 2, d'ailleurs j'en profite
à ce sujet
pour ouvrir une grande parenthèse : Nous avons fait une grosse
erreur en
foutant ces adresses, mais les types l'ont mérités; nous
sommes conscients
de ce que nous avons fait et nous le regrettons, alors ce n'est plus la
peine
de nous le répéter plusieurs mois après, nous ne
sommes pas les Nazis dont on
nous a traités. Je ferme la parenthèse...
Bon, revenons à ce
que je suis génial, car moi je n'oublie pas le fil
de cette lettre ouverte où je peux enfin m'exprimer clairement
dans mes
barbarismes après le sérieux qui ressort des fichiers
pour Cracvar que j'ai
fait (34 sur 48, alors là j'ai écrit ça, mais j'en
connais un qui va gueuler
c'est The Loockheed). Ah! Vous connaissez pas Loulou, c'est le plus
jeune du
groupe, mais c'est aussi le plus hargneux, alors LCKD, il faut pas lui
chauffer
les urines, sinon il mord. Mais bon, depuis 1 an et demi que moi et
Cop., on le
connait, on a réussi à le dresser et maintenant on arrive
meme à le promener
à Paris sans sa chaine, et il crache plus sur mon minitel quand
il dialogue
avec un con en salon (un con = non-membre du feu-Black Chest!), en
fait, c'est
normal, il a plus de minitel, ses parents ont vu 70% de 36.14 dans la
facture
détaillée du téléphone, alors ils ont
craqué (pas un soft, oeuf corse, c'est
une expression, une image, un symbole (tm) Les Inconnus).
Tiens puisque je viens de
parler du Black Chest, vous savez ou vous
allez le savoir : le Black Chest n'existe plus depuis le 7 septembre.
Plusieurs raisons à cela :
- Malgré nos efforts durant l'été 89 à
chercher des news à Paris, nous n'avons
rien trouvé...
- Loockheed a été 3 semaines aux States (New York) et a
ramené 2 softs...
- On a commandé environ une quinzaine de softs avec Goldpom aux
States en 6
mois (des titres comme Tower Toppler, The Usurper, Ultima 6, etc...) et
on n'en
a reçu qu'1, à savoir Technocop...
- J'accuse les boites américaines de distributions softs qui
font des pubs dans
des revues telles Computer Gaming World, A+, Incider de Waper-ware,
c'est-à-
dire d'annoncer des softs qui n'existent pas (je donne le cas d'Uridium
de chez
Mindscape qui fut annoncé pendant un an et demi et qui fut
finalement retiré du
catalogue car Mindy n'avait toujours pas eu le Copyright.)
- D'autres raisons, of course, je ne vous ai donné que la partie
Software de la
chose inérante au concret du sujet, vous n'avez qu'à
relire l'intro de Cracvar,
et lire les raisons de l'arret du Brain Trust (je ne vais le recopier
ici, je
ne suis pas une secrétaire, moi, je ne m'appelle gdf qui tapota
des journées
entières sur son clavier sous Applewriter pour ses cours de
daubes
(distribution gratuite TBT).
Dorénavant pour
recevoir des softs ou des products, contactez :
Tél. : 36.15 / Code :
Rtel / Bal ou Club MvGang.
Y'en a encore un du
TBT-Paris que je ne vous ai pas parlé et j'ai
oublié de citer, et si je le met pas il va gueuler
celui-là aussi (d'ailleurs
il m'a demandé de rajouter une ligne où je parlerai de
lui dans l'intro car je
l'avais oublié), c'est The Oliver Twist, alors j'écris
son pseudo 5 fois de
suite comme cela il sera content, ah! ces braves betes il leur en faut
peu pour
etre heureux; j'y va : oliver twist, oliver twist, oliver twist, oliver
twist,
oliver twist (bon j'ai pas mis les majuscules, tu m'en veux pas?). Bon,
je
ne parle pas beaucoup de lui car sinon je vais dire pourquoi il a
été éjecté
du Brain Trust pendant quelques semaines (et dire qu'il n'y avait pas
son
pseudo dans la preview 1 de Cracvar!!!). Je vous dirais que c'est le
plus
gros déconneur que je connaisse et qu'il est aussi
trèssuperbeaucoupplein
génial, mais pas encore autant que moi (vous voyez, on n'y
revient toujours)
Pour le reste, relisez l'intro. de Cool-Ware 2 concernant son
entrée au TBT.
Alors je vous parle un peu
de moi car j'ai déjà parlé de mes 3
collègues parisiens (je vous parlerai des provinciaux
après). The Jokersoft
c'est-à-dire ma personne est un individu passionné et
passionnant (demandez
toujours à mes copines), et avant de se lancer à fond
dans la déplomb' il y a
un an et demi (putain ça fait trois fois que j'écris
cette durée!), car le fix
n'était plus "sa tasse de thé", il est un DeeJay, un vrai
de vrai, avec les
platines, les disques, les lumières, et tout et tout : Et Zip,
zip et Rap, rap
et "équipe ta platine d'une feutrine et beurre tes tartines avec
de la
margarine..." et fais nous un megamix de Boney M... Vous auriez du
connaitre
cette époque, c'était fantastique, mais il a eu
rapidement des troubles
auditifs donc il dut arreté. Quoi le téléphone
aussi ça rend sourd, quoi le
walkman aussi, hein, y'a une distribution de topinambourds... Vous avez
lu, je
parle de Moi à la troisième personne du singulier,
ça fait plus classe.
Je vous parlerai bien de
Captain Crack, mais je le connais pas beaucoup
et encore je suis celui du TBT qui le connais le mieux, avec peut-etre
Patchman
(à l'époque des free-wares à suite comme Bid. Mode
D'Emploi, Plus, Qtips In The
Computer World, etc...) mais c'est aussi un petit rigolo qui adore
casser les
gens avec des vannes du style : "Allez! Tu vas pas me dire que t'as un
QI à 2
chiffres???" et des citations telles que : "Ici à Valbonne, la
mer est belle,
le soleil est chaud, les filles, les deux!"
Et puis le Patchoune, alors
lui il est géant (malgré sa taille aussi!)
c'est un programmeur fou , c'est un acharné, mais qu'est-ce que
tu fous sur
Atari ST, bo'del? Et puis là je lui ai fait une crasse, et il va
gueuler (lui
aussi). Vous avez remarqué que pour le lecteur TBT, la partie
graphique a été
réalisée par moi et la partie texte par Patchman, mais il
y avait un petit bug
lorsqu'il n'y avait pas de joystick branché, et on ne pouvait
pas sélectionné
son fichier text, alors dés le début j'ai testé si
le joystick était connecté
ou non, et s'il ne l'était pas, ça inscrit "Plug your
Joystick or Die" comme
pour Art Of Noise, mais vous pouvez toujours essayer de taper une
touche au
clavier vous n'accéderez jamais au menu, le programme attend
vraiment la
connexion du joystick. Alors je vous dis où est la crasse que
j'ai fait à Pat.,
c'est qu'il n'a pas de joystick sur son //c, donc il ne pourrait jamais
lire de
fichier. Ahahah! Mort de rire! De toutes façons, il s'en fout de
les lire, il
s'intéresse plus à la déplomb' sur ST que sur
Apple, lacheur, va... Quoi que!
nous aussi???
Je vous aurais bien aussi
raconter l'histoire du Français d'origine
soviétique, qui va voir Batman en anglais avec des sous-titrages
allemands dans
un pub espagnol, mais bon cela n'intéresse personne!!! Ah,
ça y est, je vous ai
parlé de Batounet, en 4 ans d'existence du pseudonyme The
JokerSoft, je ne vous
avais jamais expliqué que la partie JOKER de mon pseudo venait
directement du
plus fameux ennemi de l'homme chauve-souris. Mais en cette
période où la
Batmania déferle sur notre cher hexagone, il fallait bien que je
vous explique
le pourquoi du comment de la chose. Et le SOFT, ah bon, vous vous en
foutez,
mais vous savez c'est la dernière fois que je "cause" sur mon
clavier, alors
vous en saurez jamais rien car dans quelques jours je serais "mort"
informatiquement comme Le Joker à la fin de Batman (quand meme
pas écraser
comme une crepe!) Bon, eh bien, je m'écrase comme j'aurai du le
faire plus
d'une fois sur la rub app de Rtel, ce qui nous a attirer pas mal
d'ennuis à
cause de nos grandes gueules (ex : nous avons été
viré de Buster à la suite
d'une dispute avec un de ses sysops en salon public, putain, quelle
poufiasse,
quand meme cette bonne femme qui a toujours voulu peter plus haut que
son cul!)
Alors je me retire de ce
monde cruel du piratage en sortant par la
grande porte des artistes, en ayant réalisé mon grand
reve : faire partie du
plus grand groupe de déplombeurs nationaux sur Apple 2 pendant
un bon moment!
Mais ne vous sortez pas tout
de suite vos mouchoirs, je reviendrai
dès que mes études de médecine auront pris une
bonne tournure, sous un autre
pseudo car Le Joker est bel et bien mort pour la seconde fois...
Et n'oubliez pas qu'avec le
TBT, la peche aux moules, c'est cool!!!
Chao... Bonne chance... A
suivre...
Retour sommaire