TURBO SUPER MONITOR RAZORMAID MIX 1994
                     --------------------------------------

                  L'utilitaire plébiscité par la scène CPC !!!

                            "Un très bon utilitaire"
                                    (Elmsoft)
              "Je vais enfin pouvoir récupérer la fonte du système"
                                  (Ast System)
                          "Quand est-ce qu'on mange ??"
                                     (Mage)


Documentation en fran‡ais. 31.07.94 par Antoine Pitrou

    Salut! J'ai l'honneur de vous présenter  mon  nouvel  utilitaire,  le  Turbo
Super Monitor  Razormaid  Mix  1994.  Il  a  été  con‡u  spécialement  pour  les
programmeurs et bidouilleurs en langage machine, pour qui le Super Monitor  1.4+
(de Crown) n'était pas entièrement adapté à leurs besoins.

    Ce programme est freeware, c'est-à-dire que vous  pouvez  le  distribuer  et
l'utiliser sans contraintes, à part celle de ne pas modifier le programme ni  ce
fichier d'aide. Si  vous  voulez  me  contacter,  signaler  un  bug,  faire  des
suggestions, n'hésitez pas à m'écrire:

    Antoine Pitrou
    4 rue d'Amsterdam
    59700 Marcq-en-Baroeul

    Ce programme a été entièrement codé en assembleur,  sous  Dams.  Le  fichier
source fait 26 K et il est long de 3300 lignes.  Sa  programmation  a  pris  une
semaine entière.


                          Caractéristiques principales

 - la seconde banque de 64  K.  est  utilisable  comme  la  première,  de  fa‡on
totalement linéaire (et non via les habituelles connections de &4000 à &7FFF).
 - les commandes les plus utiles du Super Monitor 1.4+ ont été reprises et, pour
certaines, améliorées.
 - le chargement et la sauvegarde utilisent des routines spéciales, rendant  ces
opérations aussi rapides dans la 2ème banque que dans la 1ère....
 - l'écran est au format 48x21 caractères. De cette fa‡on, le registre 9 du CRTC
étant réglé sur 3, le Super Monitor s'implante dans  la  seconde  moitié  de  la
mémoire écran et laisse la Ram centrale totalement libre.
 - l'ergonomie a été beaucoup améliorée par rapport au Super Monitor 1.4+  grace
à de courts messages d'aide lors de l'appel de chaque commande.
 - l'affichage est réalisé avec des routines propres  et  utilise  un  scrolling
hardware (à 50 images par seconde).
 - le vecteur  &BB5A  est  "déconnecté"  pour  ne  pas  perturber  l'écran  avec
d'éventuels messages d'erreur venant de l'Amsdos.
 - l'entrée des paramètres est  plus  confortable  qu'avec  Super  Monitor  1.4+
(touche Del reconnue....).
 - lors du catalogue, une partie de la mémoire écran est utilisée  comme  buffer
afin de ne pas altérer la Ram centrale....
 - le changement de drive s'effetue  directement  via  une  commande  spécifique
(plus besoin de lancer de RSX).


                                  Installation

    Il s'agit du point fort du Turbo Super Monitor Razormaid Mix 1994. En effet,
au lieu d'aller se loger betement dans la RAM centrale, rendant par là-meme très
pénible l'exploration de gros programmes, le Turbo Super Monitor  Razormaid  Mix
1994 s'implante dans la seconde moitié de la Ram écran, à  partir  de  l'adresse
&E000. A cet effet, la taille de l'écran est diminuée de moitié. Attention  car,
le système utilisant l'écran en entier, il ne faut pas  espérer  retourner  sous
Basic et relancer le Turbo Super Monitor Razormaid Mix 1994 par une  simple  RSX
(—SM sous Super Monitor 1.4+). Il faudra alors recharger le programme.

    Il y a plusieurs possibilités pour lancer le Turbo Super  Monitor  Razormaid
Mix 1994....

    Sous Basic: un simple RUN"fichier suffit. Cependant, le système du CPC  sera
d'abord réinitialisé et de plus, le décompacteur s'implantera  d'abord  dans  la
Ram centrale, effa‡ant les données présentes auparavant. Si l'on veut  conserver
les données en mémoire, on peut changer l'adresse  du  décompacteur  en  faisant
LOAD"fichier",adresse:CALL adresse après avoir éventuellement fixé le Himem avec
l'instruction Memory. Le décompacteur est relogeable puisqu'il s'agit  de  celui
du Cheese Cruncher....

    Sous une interface de type Hacker: après avoir  éventuellement  réinitialisé
l'Amsdos, il suffira de charger le fichier à  une  adresse  que  vous  choisirez
vous-meme, puis de faire un CALL à cette meme adresse....

    Du fait de l'implantation assez spéciale du Turbo  Super  Monitor  Razormaid
Mix 1994, je crois qu'il est nécessaire de préciser les zones mémoire  réservées
dans la première banque de 64 K:

    &0000-&003F: zone des Restarts système
    &0040-&AB7F: LIBRE! vous pouvez mettre ici ce que vous voulez.
    &AB80-&ABFF:  routines  de  (dé)connection  Roms  du  Turbo  Super   Monitor
         Razormaid Mix 1994. Si vous modifiez cette zone, vous ne  pourrez  plus
         lire la Rom ni faire d'accès disque !!!
    &AC00-&B0FF: Ram réservée à l'Amsdos (relogeable....)
    &B100-&BDFF: Ram réservée au système d'exploitation.
    &BE00-&BE7F: Ram réservée à l'Amsdos (non relogeable !!)
    &BE80-&BF7F: LIBRE!
    &BF80-&BFFF: pile Z80
    &C000-&DFFF: Ram écran
    &E000-&FBFF: code machine du Turbo Super Monitor Razormaid Mix 1994
    &FC00-&FFFF: buffer utilisé par le Turbo Super Monitor Razormaid Mix 1994

Vous voyez que, grace à la technique utilisée, une très grande partie de la 1ère
banque est disponible (43 K), c'est-à-dire plus que la Ram  centrale  disponible
habituellement. De plus, la 2ème banque est totalement libre, ce  qui  place  la
mémoire totale disponible à 107 K !!

Sachez également qu'une sécurité a  été  prévue  dans  le  cas  d'une  tentative
d'écriture dans la zone principale occupée par le programme (&E000-&FFFF).


                            Description des commandes

    Toutes les commandes sont activées par le simple appui sur une touche,  sans
devoir appuyer sur Enter. Contrairement au Super Monitor 1.4+,  un  message  est
affiché, guidant  l'entrée  des  éventuels  paramètres,  qui  seront  entrés  en
hexadécimal (sans symbole '#' ni '&') et validés par Return.  Pour  la  plupart,
vous pouvez abandonner en appuyant  sur  Esc.  Enfin,  sauf  mention  contraire,
toutes agissent dans la banque connectée, quelle qu'elle soit.

    Dans la liste  ci-dessous,  la  description  restera  assez  succinte  -  la
meilleure fa‡on de comprendre est de toute fa‡on d'essayer! Les paramètres  sont
indiqués entre parenthèses....


A - Affichage Ascii (adresse de début)

La mémoire est affichée sous forme de symboles Ascii (0 à 255).


C - Compare (adresse de début) (adresse de fin) (adresse du 2ème bloc)

Le bloc défini par les deux premières adresses est comparé avec le  bloc  défini
commen‡ant à la 3ème adresse. Les adresses non  concordantes  seront  listées  à
l'écran.


D - Désassembler (adresse de début)

La mémoire  est  désassemblée  à  partir  de  l'adresse  spécifiée.  Toutes  les
instructions normales sont reconnues.


E - Recherche de modules Soundtrakker.

Le programme détecte la présence de modules Soundtrakker dans la banque  mémoire
actuelle. Il affiche  l'adresse  à  laquelle  ils  sont  logés  ainsi  que  leur
véritable adresse d'implantation entre parenthèses. La commande P permet de  les
rejouer.


F - Recherche (adresse de début) (adresse de fin)

Après  avoir  entré  les  deux  adresses,  le  programme  affichera  le  message
"Bytes/String". Tapez B si vous voulez rechercher une suite d'octets  (hexa),  S
si vous voulez rechercher une chaine de caractères. Le nombre  d'octets  maximum
est 255, la longueur maximale de la chaine est de 30  caractères.  Le  programme
affichera les adresses trouvées.


H - Header

Cette fonction sans paramètre affiche les données contenues dans  le  header  du
dernier fichier traité (chargé ou sauvé).


J - Jump (adresse)

Cette commande effectue un saut à l'adresse mémoire indiquée.  La  routine  doit
obligatoirement se trouver dans la 1ère banque et se terminer  par  un  RET  !!!
Veillez par ailleurs à ce qu'elle n'effectue pas de modifications dans les zones
réservées (cf. plus haut).


L - Charger fichier (nom du fichier)

Après avoir entré le nom du fichier,  le  header  du  fichier  sera  affiché  et
l'adresse de charment sera demandée. Si vous appuyez simplement  sur  Enter,  le
fichier sera chargé à l'adresse spécifiée dans le Header.


M - Dump de la mémoire (adresse de début)

La mémoire est affichée sous la forme hexadécimale et Ascii.


N - Carte de la mémoire

La banque connectée est entièrement affichés sous forme  de  pixels  allumés  ou
éteints, suivant la parité de chaque octet.


P - Jouer un module Soundtrakker (adresse du module)

Permet de rejouer un module Soundtrakker, uniquement dans la 1ère banque,  et  à
son adresse d'implantation véritable (cf. commande E) !!!


S - Sauver un fichier (nom du fichier)

Cette commande permet de  sauver  un  fichier,  en  spécifiant  les  différentes
valeurs nécessaires. La valeur du type fichier  doit  etre  2  pour  un  fichier
binaire normal. Les fichiers protégés ne seront pas générés correctement !!!


V - Visualiser (adresse) (mode écran)

La mémoire sera visualisée sous  forme  d'une  fenetre  à  partir  de  l'adresse
indiqué, dans le mode graphique spécifié (0 à 2). Les touches curseur permettent
de déplacer l'adresse de début, les touches  curseur  +  shift  de  modifier  la
taille de la fenetre. Haut et bas + control déplacent l'adresse  de  début  plus
rapidement. En appuyant sur Esc, vous reviendrez au mode texte et les données de
la zone mémoire visualisée s'afficheront. Vous  remarquerez  que  la  taille  de
l'écran est modifiée de fa‡on à détecter meme des images Overscan....


W - Ecrire (adresse de début)

Cette commande, une des plus puissantes du Turbo  Super  Monitor  Razormaid  Mix
1994, permet d'écrire dans  la  mémoire  sous  la  forme  d'octets  hexa  et  de
caractères Ascii. Les touches curseur permettent de se déplacer  dans  toute  la
mémoire. Haut et bas + control réalisent  un  déplacement  page  par  page.  TAB
permet de passer de la zone Hex à la zone Ascii et vice-versa.


X - Copier (adresse de début) (adresse de fin) (adresse de destination)

La zone source, spécifiée par les deux premières adresses, est recopiée à partir
de l'adresse destination.


Z - Remplir (adresse de début) (adresse de fin) (octet de remplissage)

La zone spécifiée est remplie avec l'octet spécifié.


Curseur haut - Copie banque 1 vers banque 2

Memes paramètres que la copie normale. Valable uniquement si la 2ème banque  est
connectée !!!

Curseur bas - Copie banque 2 vers banque 1

Idem.


^ - Calcul d'offset (adresse de départ) (adresse d'arrivée)

Calcule l'offset entre les adresses spécifiées, pour  utilisation  directe  avec
les instructions de saut relatif du Z80.


+ - Addition (nombre 16 bits) (nombre 16 bits)

Additionne deux nombres. Pas de détection de débordement.


- - Soustraction (nombre 16 bits) (nombre 16 bits)

Meme principe. Le second nombre est oté du premier.


* - Multiplication (nombre 8 bits) (nombre 16 bits)

Multiplication 16 bits par 8 bits. Le résultat est tronqué à 16 bits.


TAB ou ] - Changer de banque

Permet d'adresser chacune des deux banques mémoires (au démarrage, la  1ère  est
activée).


; - Connection Roms

Permet de connecter ou de déconnecter les Roms.  Au  démarrage,  les  Roms  sont
déconnectées.


: - Sélection Rom supérieure

Permet de régler le numéro de la Rom supérieure.  Au  démarrage,  la  Rom  Basic
(numéro 0) est activée.


à - Catalogue

Fait un catalogue de la disquette.  L'écran  est  temporairement  utilisé  comme
buffer.


. - Drive

Permet de passer du drive A au drive B et vice-versa.


0 - affichage normal

Avec la plupart des commandes, on doit appuyer sur une touche pour faire défiler
les données.

1 - affichage rapide

Le défilement est automatique et peut etre arreté en appuyant sur une touche.


"!" - Boot

Réinitialisation du Turbo Super Monitor Razormaid Mix 1994.


CLR - Efface l'écran

ESC - Quitter le Turbo Super Monitor Razormaid Mix 1994.

Une confirmation est demandée. Selon les  cas,  le  CPC  reviendra  à  son  état
d'origine ou fera un reset.