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.
NOTICE TEXTE n° 2 (7.23 Ko)
TURBO SUPER MONITOR RAZORMAID MIX 1994
--------------------------------------
English DOC file. 01.08.94 Antoine Pitrou
Hello! I am proud to present you my new utility, the Turbo Super Monitor
Razormaid Mix 1994. I have written it especially for assembler programmers and
demomakers, for whom the Super Monitor 1.4+ (by Crown) wasn't adapted to their
needs. It was coded with the Dams assembler in one week. The source code makes
26 Kb and is 3300 lines long.
The Turbo Super Monitor Razormaid Mix 1994 is freeware, you can copy and use
it as you want, the only condition is that you mustn't change the program nor
this DOC file. If you wanna contact me about bugs, advice or anything else, then
here is my address:
Antoine Pitrou
4 rue d'Amsterdam
F-59700 Marcq-en-Baroeul
(France)
Main characteristics
- the second 64 Kb memory bank can be used as the first one, in a linear and
transparent way.
- the most useful commands of the Super Monitor 1.4+ are present and some of
them have been improved.
- loading and saving files use special routines which give these operations the
same speed in both 64 Kb memory banks.
- the screen format is 48x21 characters and the CRTC register 9 is set to 3.
Thanx to this, the Super Monitor logs in the second half of the video ram,
leaving the "normal" Ram totally free.
- thanx to small help messages, the program is easier and safer to use than the
Super Monitor 1.4+.
- the program uses its own high-speed routines for displaying and scrolling
text.
- a RET instruction (&C9) is put in &BB5A in order not to disturb the screen
with Amsdos error messages.
- data input is much more comfortable than on the Super Monitor 1.4+.
- one part of the video ram is used as buffer for the catalogue command, so
that the normal Ram isn't modified....
- swapping drive is made through one special commando (see lower), so that you
don't need to launch an RSX.
Installation
This is certainly the strong point of the Turbo Super Monitor Razormaid Mix
1994: instead of being logged in the central Ram, it is logged in the second
half of the screen area (from &E000). That's why the size of the screen is half
as normally.... Be careful 'cause you can't come back under the system without
erasing the Turbo Super Monitor Razormaid Mix 1994.
There are several possibilities to run the Turbo Super Monitor Razormaid Mix
1994....
Under the Basic: you can type simply RUN"-smon. But then the system will be
initialized and the decruncher will first log in the central Ram, erasing
previously present Datas. So you can also change the loading address by making
LOAD"-smon",addr:CALL addr. The decruncher can be relocated as it is this of the
Cheese Cruncher....
Under a hacking interface: load the file to the address you want, then make
a CALL at the loading address.
I think that it would be better to make a list of all memory areas used in
the first memory bank:
&0000-&003F: Restart jumps
&0040-&AB7F: FREE
&AB80-&ABFF: Roms-switching routines of the Turbo Super Monitor Razormaid
Mix 1994.
&AC00-&B0FF: Amsdos Ram area
&B100-&BDFF: Kernal Ram area
&BE00-&BE7F: Amsdos Ram area
&BE80-&BF7F: FREE
&BF80-&BFFF: Z80 stack
&C000-&DFFF: screen memory
&E000-&FBFF: machine code of the Turbo Super Monitor Razormaid Mix 1994
&FC00-&FFFF: buffer used by the Turbo Super Monitor Razormaid Mix 1994
You may have noticed that nearly 43 Kb are free in the first memory bank, which
is more than the usual memory length. As the 2nd memory bank is entirely free,
the total free memory length is 107 Kb !!!
Short commando describtion
When not mentioned, all commandos work in the currently connected memory
bank.
A - Ascii: the memory is dumped into Ascii symbols
C - Compare two memory blocks; the non-corresponding addresses will be displayed
D - Disassemble.
E - Search for Soundtrakker modules (in the whole connected memory bank); this
will also display the real implantation address.
F - Find: after entering the addresses, enter 'B' to search for a list of hexa
bytes or 'S' to search for an alphanumerical string. You can enter up to 255
bytes or 30 characters.
H - Header: displays the header datas of the last loaded/saved file.
J - Jump: make a jump to the specified address. This always works in the 1st
bank !! The called routine must end with RET.
L - Load a file: the header will be displayed and you will be asked for the
loading address (press Enter for the default address).
M - Memory dump: hex and ascii dump of the memory
N - Memory map: this makes a map of the current memory bank. Dots are made on or
off according to the parity of each byte.
P - Play a Soundtrakker module: you can play a Raw soundtrakker module, but only
in the first memory bank. Type in the beginning address of the module; playing
will be stopped with the Esc key.
S - Save file: type in the filename then the datas for the file header. With
this option you can't save protected files !!!!
V - View memory: you can view the memory as bitmap datas in the specified screen
mode (0-2). The keys are: cursor keys to move start address (slow), + shift to
change the size of the window, up/down + control to have a fast move of the
start address. After pressing ESC, useful datas about the window will be
displayed.... You'll have noticed that the screen size has been changed in order
to view even overscan graphics!
W - Write: this is one of the most powerful functions of the Turbo Super Monitor
Razormaid Mix 1994. With this you can write Hex bytes and text in the memory
thanks to a powerful page editor a la Maxam (but faster). You can move the
cursor through the memory with the cursor keys, make a fast move with up/down +
control, and swap between Hex and Ascii zones with TAB.
X - Copy: both memory areas must be in the connected bank. See up and down for
copying between different banks.
Z - Fill an area with the specified byte.
Up - copy from 1st bank to the 2nd one
Down - copy from 2nd bank to the 1st one: these commandos can be launched only
if the second bank is connected !!
^ - Offset: calculates the offset between the two addresses, to be used in the
Z80 Relative Jump instructions.
+ Add two 16-bit numbers. Overflows not detected.
- Same but substraction.
* Multiplication 8-bit by 16-bit.
TAB or ]: swap between the two memory banks.
; switch Roms on/off.
: select upper Rom number (0 = Basic, 7 = Amsdos, others = expansion....)
à - disc catalogue; the screen is used as memory buffer
. - select current drive (A or B)
0 - normal handling
1 - fast handling; this decides whether you must press a key for scrolling or
not.
! - Boot: the Turbo Super Monitor Razormaid Mix 1994 is initialized: Roms are
put off, upper Rom becomes 00 and the connected bank is the 1st one.
CLR - clears screen
ESC - quit the Turbo Super Monitor Razormaid Mix 1994; you will be asked for
confirmation.