Dernière mise à jour: 23/01/2009.
Les Fast Boots incompatibles DOS 3.3
Cette page fait suite au dossier sur la notion de Fast Boot et de Fast Load.
Dans ce dernier, j'avais souligné que l'objectif
recherché était avant tout la
rapidité du chargement (traitement optimisé par
piste) au détriment de la standardisation car il n'y a pas
de catalogue classique et les fichiers ne sont pas stockés
selon les
préconisations d'Apple (que ce soit selon le
schéma du DOS 3.3. ou celui du ProDOS).
En tapant la commande CATALOG après avoir chargé
un DOS 3.3 depuis une autre disquette, au mieux rien n'apparait, au
pire ce
sont des caractères non affichables qui couvrent
l'écran.
Ce qui veut dire qu'il y a une forte probabilité qu'il
faille
boot tracer et désassembler chaque disquette pour savoir
comment
sont répartis les fichiers si on veut les
récupérer. Un jeu de cache cache bien
apprécié par la communauté underground
française de l'Apple II.
Outre les packs de copieurs que j'avais mentionnés, ce type
de
loader était également employé pour
créer
des compilations de jeux; des logiciels ludiques qui en temps
normal occupaient
souvent une face entière car sous le système
d'exploitation propriétaire de l'éditeur. Les
jeux (de
type single load) étaient extraits et rassemblés
sur ces
productions qui laissaient le moins de secteurs vides possibles.
Certains jeux étaient modifiés pour permettre de
changer des paramètres comme le nombre de vies, la vitesse,
etc... (on appelait ça des jeux fixés).
Quelques exemples de ces productions appréciées
des "gamers" voulant faire des économies de disquettes:
Les lanceurs DOS 3.3 de type HELLO
Mais l'absence d'accès à un CATALOG peut
être un frein pour un bon nombre de personnes.
Imaginons par exemple qu'un joueur souhaite se faire sa propre
compilation avec les jeux qu'il affectionne le plus.
Il a besoin de Mister Robot
sur
la compilation Arcadia 1, Aquatron sur
Mad Compactor 3 et Boulder Dash II sur le Fixed Games numéro
9.
Et bien, à moindre de connaitre l'assembleur, d'avoir
accès au FBOOT maker utilisé pour connaitre les
paramètres du fast load et/ou le mini catalog
spécifique s'il y en a un, il peut
toujours courrir!!!
C'est pour cela qu'il y a eu d'autres alternatives pour faire ses
propres compilations, alternatives qui elles gardent la structure
normale
du DOS 3.3.
Le cas le plus répandu: la disquette contient un DOS 3.3
ainsi qu'un petit programme de type HELLO qui se lance au
démarrage (après le prompt "]"), affiche un menu
et exécute le programme souhaité. Il existe des
tonnes de ce type de programmes.
Ici quelques exemples pris au hasard:
Ce genre de petits programmes HELLO était à la
portée d'un programmeur peu
expérimenté.
La plupart du temps, il suffit de faire un simple CTRL-C pour
l'arrêter au démarrage du DOS 3.3.
Les lanceurs sans DOS 3.3 mais compatibles
Mais il existe une seconde catégorie de lanceurs: ceux qui
bien que gérant des programmes stockés
au format DOS 3.3 n'utilisent pas du tout ce DOS.
Ils intègrent alors leurs propres routines capables
de lire un secteur, de déplacer la
tête de lecture sur la bonne piste, d'analyser le catalogue
DOS 3.3, de récupérer les TSL d'un programme et
de le charger entièrement.
L'intérêt premier de ce type de lanceurs, c'est
qu'ils n'occupent qu'une partie de la place normale du DOS 3.3 et
libèrent donc des secteurs devenant disponibles pour stocker
d'autres
programmes. Ils sont aussi moins gourmands en mémoire, ce
qui leur donne un HIMEM plus important que sous DOS 3.3. et peuvent
ainsi charger des programmes plus gros que ce qu'il est possible de
faire avec le DOS d'Apple. Ils sont aussi plus rapides que le DOS 3.3
(il faut vraiment le vouloir pour faire plus lent!!) sans
toutefois atteindre la rapidité des FBOOT car
ils doivent
respecter la structure du DOS 3.3 et ses contraintes (TSL, les
secteurs du programme qui peuvent
être éparpillés partout sur la face de
la
disquette, ..)
Comme pour les compilations en FBOOT, l'utilisateur boote sa
disquette, le menu s'affiche, il choisit son jeu et ce dernier est
chargé et exécuté.
Mais si l'utilisateur boote un DOS 3.3, met sa disquette de jeux dans
son drive, il peut faire un CATALOG et voir apparaitre les binaires de
ces programmes.
Une des solutions les plus connues nous vient de l'underground
américain: le BEAUTIFUL BOOT
signé par Mini
Appler du groupe MPG
qui signifie Midwest Pirate's Guild.
Je reviendrais en détail sur ce boot dans le chapitre
suivant. Juste quelques mots sur le MPG:
ce groupe de pirates du
début des
années 80 était composé de 4
membres fondateurs puis s'est étoffé par la
suite. On dénombrait les deux principaux
déplombeurs: Apple Bandit
/ John (~AB~) et The
Burglar / Dan (~TB~) ainsi que leurs
coéquipiers Mini Appler
/ Matthew Dornquast (~
MA~), Sinbad Sailor
(~SS~), Hot Rod
- qui
cracka aussi au sein du groupe The Racketeers qu'il
créa ensuite (~
HR~) , Apple Avenger (~
AA~) et Zaphod Beeblebrox (~
ZB~).
Je vous rappelle que le DVD de Jason Scott
intitulé "BBS
The Documentary"
contient une interview de deux des anciens membres du MPG: Sinbad
Sailor et notre
homme de Minneapolis... Mini
Appler.
Dans les cracks du groupe (souvent en association avec le Club 1200),
on retrouve à chaque fois la
référence de leur BBS: The SafeHouse (612)
724-7066 avec Apple Bandit
comme sysop.
A noter également que Mini
Appler a eu aussi le sien:
Pixel's Palace (612) 724-7158.
Le Beautiful Boot
Toujours de Jason Scott, je
vous propose dans un premier temps de lire
son article sur le Beautiful
Boot. Cliquez -> ICI
<-
Le principe du Beautiful Boot,
bien que fort simple, donne
un résultat pourtant spectaculaire: en
moins de temps qu'il ne faut pour le dire, le boot 1 charge la piste
$00 qui contient l'intégralité du programme. Ce
dernier passe en mode graphique HGR, recherche dans les 2 premiers
secteurs du catalogue DOS 3.3 les 14 premiers programmes de type BIN,
leur
affecte une lettre et affiche le résultat à
l'écran en plus d'informations complémentaires
sur la disquette.
Puis se lance une animation donnant l'impression d'être dans
l'espace avec un scrolling vertical de haut en bas faisant
défiler des étoiles avec des petits bruitages en
fond sonore.
J'ai retrouvé ce boot sur plusieurs disquettes de ma
logithèque. En voici 2 exemples dont un a vu ses messages
traduits en français par le pirate The
Jokersoft de la bande
du Brain Trust:
Les touches utilisables:
- Les lettres en face des noms des binaires.
- ESCape pour retourner à la main Basic.
- Espace pour spécifier un autre couple (slot, drive). Sans
avoir à rebooter, il est possible de changer de disquette et
de proposer son contenu en rafraichissant
l'écran. En remettant 6 et 1, les programmes
contenus dans le 1er drive 5,25" sont affichés à
la place des précédants.
Afin de faciliter sa diffustion, Mini
Appler et Apple Bandit
avaient
écrit un programme d'installation. En le lançant,
on remplace le contenu de la piste $00 de sa disquette par le Beautiful
Boot (+ modif de la VTOC) et hop voilà une
disquette qui boote avec
un
sympathique loader de programmes.
A noter qu'il existe deux versions du programmes d'install: en
majuscule et en minuscule (rappelons que les plus anciens
modèles d'Apple II ne géraient que les
caractères en majuscule!)
Le 1er écran des deux versions:
Je me suis intéressé au Beautiful
Boot pour une
raison bien particulière.
J'ai acheté il y a deux ans une carte d'extension pour Apple
II appelée PseudoDisk ][ et conçue
par Alex Freed.
Cette carte a une double fonction: celle habituelle d'avoir un
disk dur sous ProDOS (pareil que la carte CFFA sauf que le support
n'est pas une carte Compact Flash mais une carte SD low cost
utilisée principalement dans les appareils photo
numériques) et surtout la capacité de
stocker des
images .NIB et de lancer au démarrage de la machine celle
que
l'on désire en émulant ainsi la
présence d'un
lecteur de type Disk II.
Quand on allume l'écran, un boot est lancé depuis
la carte SD et
affiche sur
l'écran texte 40 colonnes un menu avec la liste des .NIB
trouvés.
Je trouve ce programme bien triste et mon souhait est de
l'égayer un peu en y ajoutant la routine graphique du
Beautiful Boot.
J'ai donc totalement desassemblé le boot 1 et le boot 2 du
sélecteur de Mini Appler.
Puis j'ai isolé la routine HGR qui affiche du texte sur
l'écran et celle qui donne
l'impression d'être dans l'espace
(la routine Starfield).
Ces routines sont fin prêtes pour une autre
utilisation :-)
Dans le binaire de la routine Starfield, il faut appuyer sur une touche
à chaque fois pour faire dérouler le process de
l'affichage des étoiles.
J'ai mis ces pauses pour comprendre son fonctionnement.
Pour voir l'affichage en temps réel, il faut soit modifier
le source en virant les LDA $C000 / BPL associé puis
l'assembler, soit faire la manipulation suivante:
BLOAD THE_STARFIELD_ROUTINE
POKE 4416,234
POKE 4417,234
POKE 4418,234
POKE 4419,234
POKE 4420,234
POKE 4430,234
POKE 4431,234
CALL 4096
En analysant cette routine, je me suis rendu compte que Mini Appler
avait été plus que paranoïaque: il a
sur-protégé son pseudo avec plusieurs
vérifications pour que le programme ne fonctionne plus si on
l'enlève ou l'altère:
- Tout d'abord il y a un encodage par EOR #$A5 dans le lieu
de stockage
du nom de la routine et de son pseudo.
- La routine d'affichage est modifiée juste avant
l'exécution pour mettre l'EOR correct en place puis
après l'affichage des 2 chaines encodés, l'EOR de
protection est remplacé par une valeur bidon; ces 2
phases permettant de parer les recherches et modifs avec
éditeurs de
secteurs.
- A l'initialisation de l'écran HGR, il
vérifie
par somme évolutive que le nom du Beautiful
Boot n'a pas
été altéré.
- La routine d'affichage d'un chiffre sur 3 digits (taille en
secteurs des BIN et nombre de free sectors)
contrôle
un octet du nom du boot et un octet du nom de l'auteur par EOR
successifs.
- Juste avant de faire le BRUN du programme choisi, un
contrôle de type checksum est effectué sur son
pseudo.
Ce qu'il y a de comique la dedans, c'est qu'en fait Mini
Appler a
surtout fait un assemblage de routines
récupérées à divers
endroits, aussi protéger ainsi son pseudo est franchement
ridicule. Comme son objectif était que tout le monde utilise
son programme, il voulait à tout prix que sa signature reste
afin d'assurer sa "renommée" et pour que la
"gloire" ne
revienne pas au 1er namekiller venu. Et ça a bien
marché car je n'ai pas vu de version "piratée".
Cet assemblage n'est pas une invention de ma part: je le prouve.
Tout d'abord dans l'article de Jason Scott,
Mini Appler a
confessé la
1ère récupération: "He’d
gotten the starfield routine from a Broderbund game of
the same time (he’d lifted the assembly routines, then
changed them from side-scrolling to vertical scrolling)". Il faut dire
qu'avec le nombre de jeux se sirtuant dans l'espace, il
était plus simple de se servir de l'existant! Quelques noms
de jeux parmi une foule d'autres: Alien
Typhoon, Warp Destroyer,
Aquatron, Star
Blazer, ... et même le jeu
d'hélicoptère Rescue
Raiders.
Ensuite quand j'écris un article sur un sujet
précis ou sur une personne, je fais des recherches sur le
net.
Et qu'est-ce que j'ai trouvé? Une production de son
groupe Midwest Pirates' Guild
intitulée " MPG
KracPak 1984 " (voir les screenshots en annexe).
Il est mentionné: "This disk is composed of just some of the
utilities used by the
Midwest
Pirate's Guild [MPG]..."
En regardant de plus près ces outils, j'ai
constaté qu'il y avait une routine fort
intéressante appelée MINI-RWTS
et
signée par The Stack
du groupe américain Corrupt
Computing
datant de 1982 (voir la doc en annexe). Et
vous savez quoi: elle correspond exactement au loader du Beautiful
Boot...
Et le copyright de Corrupt
Computing, il
est où lui??????? ;-)
Quant à la routine d'affichage
HGR des caractères, c'est hyper commun dans les jeux
commerciaux et très simple à identifier (donc
à chiper).
De l'assemblage je vous dis!
Voilà ce que j'avais à dire sur le
Beautiful Boot. Le plus
simple pour avoir des infos
complémentaires (stockage en page 3 des
références des TSL des bin, utilisation du buffer
clavier comme buffer pour charger un secteur de TSL, le cas particulier
du 1er secteur de datas qui contient l'adresse d'implantation du bin,
...) c'est encore de regarder les sources dans le chapitre
correspondant.
Corrupt Computing
A présent un petit supplément sur
Corrupt Computing...
Ce groupe de Plymouth dans le Michigan était
composé initialement de 2 membres: The
Stack (lead
programmer) et The Inspector.
Le groupe s'en ensuite complété de The
Technicolor Pirate.
Comme beaucoup de groupes de l'époque, il avait
leur BBS personnel: "The Corrupt Communications Bulletin
Board" joignable depuis le (313)-453-9183
et disponible 24h/24. Ils disposaient
également d'un autre moyen de communication: "THE
TWILIGHT PHONE", a non-Net Works system accessible
au (313)-775-1649.
Outre le déplombage de programmes commerciaux, le groupe a
produit un certain nombre de programmes dont plusieurs
de très haut niveau. On leur doit:
- Disk Splitter
2.5 : which was a program that split a full disk
into a sector
map and
1-6 binary files (utile pour les échanges via BBS: il
n'était pas
possible de stocker sur une disquette sous DOS 3.3 le contenu complet
d'une autre disquette entière: il fallait la
"découper" puis la
recréer
ensuite).
- Advanced Demuffin
qu'on ne présente plus
tellement
c'était un outil de base pour le cracking.
- Disk Muncher, le
copieur bien connu qui stocke en
mémoire les nibbles lus sans s'embarrasser de faire du
nibblizing / denibblizing (perte de temps).
- Fastload Create,
un programme dont je parlerai un peu plus
loin.
- Mini-RWTS, une
mini routine de lecture pour se passer du
DOS 3.3.
Une liste de projets dont j'ignore si la réalisation a
été menée à terme:
- Un projet de programme de
compression/décompression.
- Un projet de DOS modulaire.
- Un projet de programme transformant une carte ram en disque
virtuel
et ce quelque soit la marque de la carte ram.
- Un projet de programme capable de
rechercher, extraire et
même éditer les sprites et les images d'un jeu (un
Shape Hunter) en s'aidant d'une carte d'interruption NMI. A noter qu'en
France, un projet similaire a été
achevé et il n'utilise pas de carte NMI: le sector editor
ultra évolué Anstrom
2.3
par El Mathos (avant
son passage sur GS avec le FTA).
- Un projet de newsletter expliquant le fonctionnement du
lecteur de
disquette, un descriptif détaillé des proms P6 et
P6a, ...
Il ne faut pas grand chose pour m'amuser. Dans deux de leurs docs, j'ai
trouvé ces textes:
-----------------------------------------------------------------
A word to the wise.
Corrupt Computing has maintained a reputation for
writing good
programs and distributing them to the user at no or
very little
cost. But if people begin to abuse this
service by trying to
sell our programs, or
requesting a access fee (without our
knowledge) for the privilege of downloading our
programs, this
service will be discontinued. You have been warned!
Thank you very much for your cooperation.
-----------------------------------------------------------------
Under NO circumstances will selling or otherwise distributing
Corrupt Computing's programs on a bulletin-board be permitted
without prior permission from either THE STACK or THE INSPECTOR.
-----------------------------------------------------------------
J'adore les crackers qui n'en ont rien à faire des
copyrights
des programmes commerciaux des autres et qui profèrent des
menaces envers ceux abusant de leurs propres productions...
Si je parle de ce groupe dans cette page, c'est qu'en
étudiant les outils proposés par
le "
MPG
KracPak 1984 ", j'ai aussi regardé de
près une autre réalisation de The
Stack, le Fastloader Create.
Je serais bien étonné que vous n'ayez jamais vu
ce programme fonctionner.
N'avez vous jamais vu un soft qui au lancement rempli
l'écran de
caractères changeant (au fur et à mesure du
chargement),
avec les 2 lignes du haut livrant des infos sur le programme
(société éditrice, groupe ayant
cracké le soft) et en bas
à droite la signature "FASTLOADER"?
Un exemple statique ici:
Et l'exemple que j'ai utilisé pour faire le source: (il faut
que vous ayez un viewer de SWF/FLV
installé)
On va voir tout de suite que ce programme Crystal
Castles est
très bizarre. Si on regarde le catalog sous DOS 3.3, on
s'aperçoit que le jeu occupe 121 secteurs et on peut voir
avec COPY II+
qu'effectivement il prend la place correspondante avec
l'option de
mapping (la lettre "C" le représente sur l'écran
de droite):
Mais toujours avec COPY II+,
on s'aperçoit que la longueur
officielle du binaire est tout simplement incompatible: $03FB.
121 secteurs et une longueur de $03FB... il est clair qu'il y a eu une
belle bidouille!
Pourtant ça marche car quand on fait sous DOS 3.3 un BRUN
CRYSTAL CASTLES: le jeu se charge.
Et c'est ce que je vais expliquer à présent.
Tout d'abord quand vous faites BRUN CRYSTAL CASTLES sous DOS 3.3, le
DOS ne charge pas 121 secteurs mais uniquement le début du
binaire (l'équivalent en secteurs de la longueur de $03FB).
C'est pour cela qu'on a une impression de rapidité
entre le moment où on a tapé le BRUN et
l'affichage écran.
En fait le début du binaire est constitué du
Fastloader de The Stack. C'est lui qui ensuite prend
la main pour
charger tous les secteurs qui constituent le jeu proprement dit
(à partir de la liste des Tracks/sectors des TSL en sautant
les 1er couples correspondant au Fastloader
qui a déja
été chargé par le DOS).
Et le Fastloader commence
par se reloger en page écran texte
40 colonnes. Ce qui explique que l'écran est couvert de
caractères incompréhensibles (à part
les lignes réservées pour le blabla).
Il n'utilise pas du tout le DOS 3.3 pour charger la suite mais... la
routine Mini-RWTS que nous
avons vu tout à l'heure pour le
Beautiful Boot.
Cette indépendance vis à vis du DOS et le fait
d'être
relogé en pages 4 à 7 permet à
Fastloader de charger un gros
binaire sans la contrainte d'un HIMEM
merdique.
Mais ce n'est pas le seul avantage de ce loader.
Imaginez que
vous ayez un original de type single load particulièrement
tordu à
déplomber (genre protection spiradisk
+ méchancetés de protection
mémoire).
Le plus simple pour ne pas avoir à tout
désassembler est
de réussir à trouver le point d'entrée
du programme une fois qu'il
s'est chargé en mémoire.
Pour cela, il y avait plein de cartes d'interruption NMI sur le
marché à l'époque.
Bref,
vous avez fait ce boulot (en pressant sur un bouton et avec un peu de
jugeotte) et au final, vous avez une adresse pour faire
un JMP et le contenu de la mémoire que vous jugez
indispensable pour le
bon fonctionnement du jeu.
Vous avez rassemblé toutes ces pages mémoires
(avec les outils livrés avec votre carte NMI - comme c'est
le cas avec ma Wildcard Plus) et
avez fait un binaire unique.
C'est maintenant que Fastloader Create
rentre en jeu.
Si les pages mémoires nécessaires au
jeu ne sont pas
contiguës, alors en théorie vous être
obligé de faire un relocator pour les remettre à
la
bonne place.
Par exemple si le jeu que vous avez interrompu utilise 3
parties distinctes: la
page zéro, l'écran HGR de $2000 à
$3FF8 puis le programme principal de $6000 à $BAFF.
Il faut bien que vous remettiez ces 3 parties à leur adresse
finale respective avant de faire le JMP $6000 qui va lancer le jeu.
Et bien Fastloader va faire
ce "relocator" automatiquement pour vous!!!
En effet, il ne charge pas bêtement tous les secteurs du jeu
à partir d'une adresse fixe.
Il travaille par couple d'informations: page mémoire de
début et le nombre de pages à partir
de cette adresse.
On peut utiliser jusqu'à 30 couples pour charger
où on le souhaite les secteurs
mentionnés dans les TSL.
On s'affranchit ainsi de la séquentialité
apparente des secteurs par rapport à la mémoire.
A noter par ailleurs que Fastloader
propose aussi un traitement au cas
par cas de relocator pour les pages 0, 1, 2, 5, 6 et 7 (bien entendu
après le chargement pour ne pas écraser la
Mini-RWTS en cours de route).
C'est franchement bien fait je trouve.
Chapeau bas pour l'idée et surtout de l'avoir
partagé avec la communauté underground.
Pour plus d'infos, voir le source dans le chapite suivant et la doc de
Fastloader Create en annexe.
Les sources
Tout est disponible au format Merlin 8. J'ai mis mon image disk de
travail et des fichiers TXT correspondant aux sources
assemblés.
|
DOS 3.3
|
Download Beautiful Boot Ultimate Disk
|
|
Merlin 8 v2.48 DOS
|
View: Beautiful Boot 1 assembled
source code
|
|
Merlin 8 v2.48 DOS
|
View: Beautiful Boot 2 assembled
source code (including Mini-RWTS)
|
|
Merlin 8 v2.48 DOS
|
View: The Starfield Routine assembled
source code
|
|
Merlin 8 v2.48 DOS
|
View: Fastloader by Corrupt Computing
for Crystal Castles (including Mini-RWTS)
|
File: Beautiful_Boot_Source.dsk
Disk: DOS 3.3 Volume 254 (140KB)
Name
Type Auxtyp
Modified
Format Length
------------------------------------------------------------------------------
DISK*
BAS $0801 [No
Date]
DOS
142
=> Boot 1 and Boot 2 source code of The Beautiful Boot (and bin
files)
T.BOOT1
TXT $0000 [No
Date]
DOS
1518
BOOT1
BIN $0800 [No
Date]
DOS
256
T.BOOT2
TXT $0000 [No
Date]
DOS 32643
BOOT2
BIN $B100 [No
Date]
DOS
3840
=> The starfield routine (source code and bin file)
T.THE_STARFIELD_ROUTINE
TXT $0000 [No
Date]
DOS 13216
THE_STARFIELD_ROUTINE
BIN $1000 [No
Date]
DOS
2087
=> Beautiful Boot maker
BEAUTIFUL BOOT
LOWERCASE
BIN $3000 [No
Date]
DOS
5521
BEAUTIFUL BOOT
UPPERCASE
BIN $3000 [No
Date]
DOS
5521
BEAUTIFUL BOOT
DOCS
TXT $0000 [No
Date]
DOS
3586
=> Mini RWTS by The Stack
*MINI
RWTS
BIN $07FD [No
Date]
DOS
957
*MINI RWTS
DOCS
TXT $0000 [No
Date]
DOS
2057
DOS READ
$BA00
BIN $BA00 [No
Date]
DOS
663
=> Fastloader by The Stack applied to the Crystal
Castles game
T.FASTLOADER_CRYSTAL_CASTLES
TXT $0000 [No
Date]
DOS 13958
FASTLOADER_CRYSTAL_CASTLES
BIN $07FD [No
Date]
DOS
1019
------------------------------------------------------------------------------
Summary : Appendix
Link
|
Content
|
Author
|
|
01) Beautiful Boot doc. |
Mini Appler & Apple Bandit. |
|
02) MPG KracPak 1984 screenshots. |
Midwest Pirates Guild. |
|
03) Mini RWTS doc. |
The Stack (Corrupt Computing). |
|
04) Fastloader Create doc. |
The Stack (Corrupt Computing). |
|
05) The Safehouse BBS. |
Midwest Pirates Guild. |
01) Beautiful Boot doc.
(formatted for 80-columns)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
:
:
Beautiful
Boot
:
:
by MiniAppler and Apple
Bandit
:
: Copyright [C] 1984 Midwest
Pirates Guild (MPG,) all rights forgotten
:
:
:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
For years, many pirates have created the DOSless disk--that is, a disk
that has
no DOS on it, so that more space was left on the disk for
programs. The only
problem with this was, if you wanted to run one of the programs, you
had to
boot up another disk that had DOS on it, then stick in the DOSless
disk, and
then Run/Brun the program you wanted. Well, forget
it. MiniAppler and Apple
Bandit have come up with a program that will eliminate those problems
forever.
The program, Beautiful Boot, sits on track 0, and has its own built-in
RWTS
and fastloader program. When the disk with Beautiful Boot on
it is booted up,
the hi-res graphics screen will clear, and a menu with the binary files
on the
disk will show up. The background will have stars floating
by, in color. To
run (Brun) one of the programs, just hit the letter indicated in the
menu. Al-
so, the following control keys will work in the program:
/Return/
-------> Read another
directory from the same drive
/Spacebar/
-------> Read another
directory from different drive
/Escape/
-------> Get out and
return to Basic
Now, to install the program, just enter the command, "BRUN BEAUTIFUL
BOOT".
When it's finished loading, the screen will clear, and a page of
instructions
will show up. Note that if you do not have a lowercase chip,
then all that you
will see is garbage on the screen (hence the purpose of this
writeup.) Hit
a key to get to the next screen, and then the question will be asked,
"Do you
wish to make a beautiful boot?" Hit "Y" (for yes,) and then
you will get a
little space (2 lines) to make a short message that will be displayed
upon a
disk boot. Type in your message, and hit the /Return/ key
when you are fin-
ished with your message. Then, a message will come up telling
you to insert
the target disk in drive 1 and hit any key. (Note:
make sure that the disk
that you insert is initialized--the Vtoc will be modified so as to free
up the
unused DOS sectors on the disk--this was also done so as to make a
little ea-
sier the updating of old DOSless disks to a Beautiful Boot
disk.) The disk
will be updated with Beautiful Boot, and then a last question will
appear, ask-
ing if you want to make another disk with Beautiful Boot. If
you want to make
another (which you surely will, although maybe not at this moment,) hit
"Y"
(for yes.) This will bring you back to the first instruction
page.
If you hit "N" (for no,) then you will be returned to Basic.
To run Beautiful
Boot, just boot up the newly updated disk. Then,
enjoy! It all fits onto one
track. Now, isn't that beautiful work? Now you will
want to update all of
your DOSless disks. But, that's it for us. You now
know how to make up DOS-
less disks with Beautiful Boot on it.
-MiniAppler and Apple Bandit
: Copyright [C] 1984 Midwest Pirates Guild (MPG,) all rights forgotten :
: Call the best in the Midwest-> The Safehouse /612/
724-7066 16 megabytes :
|
|
Retour sommaire
02) MPG KracPak 1984 screenshots.
10 REM MPG - CRACKING
1984
20 REM DISTRIBUTED 1984 BY
30 REM SAFEHOUSE ENTERPRISES
40 REM
50 REM THE SAFEHOUSE BBS:
60 REM [612] 724-7066 (MODEM)
70 REM
80 REM BEST IN THE MIDWEST!
90 REM
Montage: une compilation de signatures extraites de pages de cracks:
Retour sommaire
03) Mini RWTS doc.
HOW TO USE THE MINI-RWTS:
1). DOWN LOAD THE TEXT FILE FROM THE BOARD THEN EXEC THE TEXT
FILE TO CREATE THE PROGRAM.
2). BRUN THE FILE CALLED "RELOC DOS READ" AND ENTER THE PAGE
WHERE YOU WANT THE PROGRAM
RELOCATED TO.
3). BLOAD THE FILE CALLED "DOS READ $XX00". (WHERE XX IS THE
PAGE THAT YOU RELOCATED IT TO.)
TO USE MINI-RWTS, YOU WILL HAVE TO SET SOME ZERO PAGE LOCATIONS:
$F1 -- CONTAINS THE SLOT AND DRIVE NUMBER TO READ
FROM. THE
FORM IS FIRST DIGIT IS SLOT AND SECOND DIGIT IS DRIVE
(A ZERO IN DRIVE WILL USE LAST USED DRIVE.) I.E. $61
WOULD USE SLOT 6 DRIVE 1.
$FB,$FC -- CONTAINS THE LOW AND HIGH ORDER
(RESPECTIVELY) OF THE
ADDRESS THAT YOU WANT TO LOAD THE DATA INTO. (IT WILL
START HERE AND READ UP).
$FD -- CONTAINS THE NUMBER OF SECTOR'S TO READ IN
(NOTE: THE
SECTORS ARE READ IN IN DECENDING ORDER I.E. FROM TRACK
$19 SECTOR $F TO TRACK $19 SECTOR $E...ECT.)
$FE -- CONTAINS THE START TRACK.
$FF -- CONTAINS THE START SECTOR.
ONCE YOU HAVE SET THESE LOCATIONS, YOU CAN BEGIN TO USE MINI-RWTS.
THE MAIN ENTRY POINT FOR MINI-RWTS IS $XX00. (WHERE XX IS THE
PAGE THAT YOU RELOCATED IT TO.) THERE IS A AUXILIARY ENTRY POINT AT
$XX18.
(WHERE XX IS THE PAGE THAT YOU RELOCATED IT TO.) THIS ENTRY
WILL ASSUME SLOT 6
AND THE LAST USED DRIVE. (SAME AS $F1:60 $XX00G EXCEPT THAT
$F1 DOES NOT GET
MESSED UP.)
THATS ALL YOU NEED TO KNOW TO USE THE MINI-RWTS!!!!!!! THE ROUTINE IS
ONLY $300
BYTES LONG AND ONLY USES ZERO PAGE LOCATIONS $F2-$FF. (ALSO $F1 IF YOU
USE THE
$XX00 ENTRY POINT.)
USES FOR MINI-RWTS:
MINI-RWTS WAS DESIGNED FOR USE IN COPY-A'S. IT COULD ALSO BE
USED FOR VERY
LARGE FILES TO MAKE THEM QUICK LOAD TYPE FILES, WATCH FOR OUR NEW
PROGRAM THAT
WILL DO JUST THAT!
IF YOU HAVE ANY QUESTIONS LEAVE MAIL FOR THE INSPECTOR
THE AUTHOR, THE INSPECTOR OR THE SYSOP TAKE NO RESPONSIBILITY FOR ANY
DAMAGE
DONE TO DISKS OR PROGRAMS THROUGH USE OF THIS PROGRAM.
MINI-RWTS COPYRIGHT 1982 CORRUPT COMPUTING
Montage: page d'un crack que j'ai transformé en page de
présentation pour Mini-RWTS:
|
Retour sommaire
04) Fastloader Create doc.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%
%%%%%%
%%%%%
*** Fastload Create
***
%%%%%
%%%%
%%%%
%%%
%%%
%%
Written
by:
%%
%
%
%
%
%%
The
Stack
%%
%%%
%%%
%%%%
Copyright
1982
%%%%
%%%%%
Corrupt
Computing
%%%%%
%%%%%%
%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*** Background ***
Fastload Create is,
as the name implies, a
program that
creates Fastload files. What is a
Fastload file? It is like a
Quickload file (the kind used for many cracked games that take up
too much room to fit in with DOS) except that a Fastload file can
be bigger than a Quickload file since a Fastload file has its own
shrunk RWTS built in while a Quickload
file uses normal RWTS.
this shrunken RWTS is less than $300
hex bytes long and the
routine that uses it is slightly less
than $100 hex bytes long
meaning that your program can take up all of memory
minus $400
bytes for the Fastloader, $100 for Page Zero, $100 for the Stack,
and $100 for the current Track/Sector list being used. That means
that your program can be up to $B900
bytes versus about $A200
bytes with Quickloader. Not only that,
but you don't need to
write any move routines at the
start of your cracked program
because the Fastloader does all of them for you. Since Fastloader
does not use normal RWTS, your program
can be loaded directly
into locations $B800-BFFF
where normal RWTS
normally is.
(Fastload's Mini-RWTS resides at $500-$7FF where the text
screen
is.) This means that the only moves that
need to be made are
moves to addresses $0000-$02FF and
$0400-$07FF. Note that the
program may be directly loaded into Page 3 as well as
all pages
above and including 8. You may ask, how
does the move routine
move something into the page it is in. Well, the
move routines
are in Page 4 and the RWTS is in Pages 5-7. What happens when the
Fastloader is run, is, the program is loaded into
Pages 3, and
$08-$BF. After loading is complete, the move routines take
over.
First, anything that goes into Pages 0, 1, 2,
5, 6, or 7 gets
moved there. Note that nothing gets moved to Page 3. If there
is
something that goes in Page 3 it is loaded in there. After
those
moves are complete, Page 4 gets moved to the page that was
moved
to Page 6, which is no longer needed. If
nothing was moved to
Page 6, Page 4 gets moved there. Then
whatever page goes into
Page 4 gets moved to Page 4. When done with all of
these moves,
the Fastloader then jumps to the beginning of your program.
*** Using Fastload Create ***
Now that you know all about the Fastloader, this
section will
tell you how to use the
program that creates these Fastload
files. It is really very simple. Just type:
]BRUN Fastload Create
and wait for it to load in. The screen will clear and there
will
be a message at the bottom of the screen telling you that you may
type up to two lines of ID text for your program. This text
will
be displayed while The Fastloader is loading you
program on the
top two lines of the screen. For example, you could say:
XYZ Program Copyright 1982 by XYZ Corp
Cracked
1982 by Your Name
Then whenever someone says:
]BRUN XYZ Program
The Fastloader will load in, and
at the top of the screen it
will display your message. At the bottom of the
screen it will
display the word "FASTLOADER" so that everybody
running it will
know that it's a great program. In the middle of the
screen and
on part of the bottom line you will be able to see the data as it
is read in. This is due to the fact that the RWTS
is stored in
the text page of memory. Of course, there will also be a bunch of
garbage on the screen that is really the RWTS, the
driver, the
mover, and the tables.
Now, back to the program... As
you have probably noticed if
you are running the create program it says that you may
use the
RETURN key to skip to the next line and
the <ESC> key when you
are done. Try it! If you type the RETURN
key while on the top
line you'll skip to the beginning of the bottom
line and if you
type the RETURN key while on the bottom line you'll skip
to the
beginning of the top line. Another key not
mentioned is Ctrl-Q.
This can be used any time throughout the program whenever
it is
expecting input to stop the program. Upon
receipt of a Ctrl-Q,
the program will ask whether or not you really want to
quit. If
you did, type a "Y" and if you didn't, type an "N".
If you type
"Y", the program will tell you that it is done with your file and
will ask if you'd like to create another
Fastload file. If you
would, just type "Y", otherwise, type "N". Now
back to the ID
text... Remember, just type the <ESC> key when done.
The next thing the program will ask for
is the name, starting
page, and number of pages of each of the files you wish
to link
together into one Fastload file. You see, the create program will
take your files and build a table that will be located
near the
start of the Fastloader
prefix. This table will
tell the
Fastloader driver where to load each
sector. Example: Say you
have four files named File #1, File #2,
File #3, and File #4.
Let's also say that File #1 is Pages 0-7, File #2 is Pages
8-$1D
File #3 is a picture that goes from Pages $20-$3F, and File #4 is
pages $47-$BF. Since the files have lengths of 8, $16,
$20, and
$79, respectively, the total length is $B7 pages which means that
it is within the limits of Fastloader. (Any length of $B9 or less
is within the limits.)
Now, if you are in the create program,
the top of your screen
should look something like this:
File:
_
,D1
Start Page: # of
Pages: Ok?
You may now type in the
filename of the first file to link.
The first file in our example is File #1,
so, you would type
"File #1" (Without the quotes). After you type the filename,
hit
the RETURN key. The underscore cursor
will jump down to the
"Start Page" line and you then type in the starting page of
that
file. In our example, the start page of File #1 is
zero. Since
you are supposed to type it as a 2-digit
Hex number, you would
type "00". If you make a
mistake, you must type
in dummy
information until it gets to the "Ok?" line, where you would type
"N" for No, allowing you to start that file over.
When you are
done typing the starting page number, the cursor
will skip over
to the "# of Pages" line. Here you type the number of pages
your
file is. Again, it must be a 2-digit Hex number. In our
example,
File #1 has a length of 8. This, of course, means that you
would
type "08". The cursor will
now jump to the "Ok?" line. If
everything is ok, type "Y" and the top of the screen will
clear,
the headings will be put up again, and it
will wait for you to
type in the next filename. On the other hand, if you say
"N" to
the "Ok?" prompt, the speaker will beep and it will wait for
you
to retype everything for that file.
You would now type in the filename for the second
file. In our
example, it would be File #2 with a
starting page of $08 and a
length of $16. You would continue typing in the filenames in this
manner until you are done. When there are no more files, just hit
the <ESC> key. Another feature is that not all of the
files have
to be on the same diskette if you have more than one disk
drive.
If a certain file is not on the disk in the drive
shown by the
",Dx" (where x is the drive number) at
the top of the screen,
just type Ctrl-D and that file and all of the files that you type
in after that one will be read
off the other drive. However,
there is one thing that you must
remember. The disk that the
Fastload file is to be created on MUST be
in drive 1 and must
STAY in drive 1 during the whole time the program is creating the
Fastload file. This is due to
the fact that every once in a
while, the program decides to write its buffer out
the Fastload
file, which, of course, is in drive 1. Placing a
different disk
in this drive will get it nicely clobbered if the program decides
to empty its buffer while your other disk is in there. Therefore,
certain safety precautions are taken in the program
to prevent
this form happening. For example, if your file which you said was
on drive 1 is not found there,
your only two choices are to
insert the correct disk containing the file into
drive 2, or to
retype all of the filenames with their
drive numbers and page
information. This is, of
course, because of the fact that
inserting the correct disk into drive
1 would mean that the
Fastload disk would be out of
drive 1 meaning that your disk
would be clobbered.
Anyway, back to better things... When
you are done typing in
the file information, and you have typed the
<ESC> key, the top
of the screen will again clear and it will ask you for
the name
of the Fastload file. You may name it any
legal file name that
DOS will except. This, of course, means that the
filename can't
be over 30 characters long and
must start with a letter or
something similar (such as @,],[,^,_ or \). When done typing
the
Fastload filename, just hit the RETURN key. The top of the screen
will clear again and it will now ask for the starting address
of
your program. This is the address that it will jump to when it is
done with the loading and moving.
This address is stored at
locations $8D8 (low) and $8D9 (high) of
the Fastloader prefix.
Therefore, if you wanted to stop the Fastloader from
jumping to
the start of the program after it was done loading and moving the
program, you would say:
]BLOAD My Fastload File
]CALL -151
*8D8:69 FF
(Or wherever you want it to go to)
*7FDG
(Start of Fastload prefix)
The screen will fill with all of the garbage and
the file will
be loaded, moved, and your routine will be jumped to.
The starting address of your
program MUST be a 4-digit Hex
number. If it is something like $800, for example, you would
say
"0800". The cursor will then jump to the "Ok?" line and you would
say either "Y" or "N".
After typing the starting address, you
have completed typing
in all of the information that the create program
needs to know
about your Fastload file. At the bottom of the
screen, it will
instruct you to insert the disk
that you wish to create the
Fastload file on into drive 1 and to then press the
<ESC> key.
When this is done, the create program will begin creation of your
file. When done, it will tell you so and will ask if
you'd like
to create another Fastload file. Answer with a "Y" or an "N"
and
it will either start the program over or exit into Basic.
Appendix A: Error Messages
This appendix tells
some of the error
messages you may
encounter while attempting to create
a Fastload file and the
causes of them.
1. So many files that the Fastloader can't
keep track of them
all.
This means that your files amount to more
than 30 load pairs
(almost like files). This is
the maximum that the Fastloader
prefix can handle. To solve this problem, use fewer
files. This
can be accomplished by linking more than one file
together into
one file.
2. Fastload file is greater than 246 sectors total (over 244 data
sectors).
This error is caused by linking files together that amount
to a
total of over 244 data sectors. You should not get
this message
with version 1.0 of Fastload Create unless you have
files that
overlap each other.
3. Fastload file cannot
fit on a disk that is
this full.
This error is caused when the disk is too full (obviously).
Just
get out a disk that isn't quite so full and use it instead.
4.
The
diskette
directory
is
too full.
You will get this error if
you have more files
than were
allocated for. On a normal disk, you have room for 105 files
and
it will take a while for you to get this error message.
5. No room left for the
Fastloader with all of these files.
You will get this message when the total length of
your data is
greater than $B9 pages. Remember that that is the maximum
length
that the Fastloader is able to handle at this point.
Appendix B: Locations used in the
Fastloader prefix
This appendix describes in
detail the locations within the
Fastload prefix that are used by the create program and that
may
be changed by the user. This appendix, however, does not describe
how to save these changes back out the disk. This Fastload prefix
is placed at the beginning of every
Fastload file and may be
loaded with the command:
]BLOAD My Fastload File
NOTE: All addresses are in Hexadecimal.
7FD: A jump to the routine that
moves the Fastloader prefix
down into the text page of memory.
800-827: First line of ID text
828-863: Load pairs. There is room for 30 load pairs in this area
which are each 2 bytes long. The first byte is the page
to start loading and the second byte is the number of
pages (sectors) to load into consecutive page numbers. A
zero as the first byte terminates loading.
865-87F: This is the RWTS driver routine. It loads the data into
the appropriate locations on the disk according to the
LPT (Load Pairs Table) at locations $828-$863.
880-8A7: Second line of ID text
8A8-8D6: This is the mover routine. When the Driver is done
loading in the data from the disk, this routine moves it
all into its appropriate places in memory.
8C7: This is location MP6D1
(see $8E0).
8CD: This is location MP6D2
(see $8E0).
8D0: This is location MVPG4 and
holds the number of the page
that will be moved into page 4 after loading.
8D7-8D9: This is a JuMP to the start of the program. Location
$8D7 will always be a $4C (JMP op-code) and locations
$8D8 and $8D9 will contain the low and high bytes,
respectively, of the location to JuMP to.
8DA: This is location MVPG0 and
holds the number of the page
that will be moved into the zero page after loading.
8DB: This is location MVPG1 and
holds the number of the page
that will be moved into page 1 after loading.
8DC: This is location MVPG2 and
holds the page number to be
moved to page 2.
8DD: This is location MVPG3 and
should always contain a 3.
8DE: This location MUST contain
a 4.
8DF: This is location MVPG5 and
holds the page number to be
moved to page 5.
8E0: This is location MVPG6 and
holds the page number to be
moved to page 6. Locations $8C7 and 8CD must be the same
as this location and are duplicates.
8E1: This is location MVPG7 and
holds the page number to be
moved to page 7.
Appendix C: Future Versions
Some options that
may be added to the Fastloader
or the
Fastload Create program are
loading into language card and
displaying a hi-res title page during load. If these feature
get
enough requests we will implement them in future versions of this
program. If you would like to make a request or if you can
think
of any other new features to be added to any part of this program
or if you have any
questions about Fastloader please leave
mail for The Inspector on The Twilight Phone.
<end>
Retour sommaire
05) The Safehouse.
[THE SAFEHOUSE]
[ABSOLUTELY NO ADMITTANCE WITHOUT ID!]
OTHERS HAVE ENTERED BEFORE YOU, AND
THEY TELL GREAT TALES OF THEIR
EXPERIENCES... MEETING PEOPLE FROM
AROUND THE COUNTRY, TRADING SOFTWARE,
GAINING KNOWLEDGE, AND GENERALLY HAVING
A GOOD TIME! BUT ARE *YOU* WORTHY OF
ENTRANCE TO THE SAFEHOUSE?
CALL TODAY, AND EXPERIENCE:
THE SAFEHOUSE - [612] 724-7066 (MODEM)
** THE BEST IN THE MIDWEST! **
Retour sommaire