APPLICATIONSUTILITAIRES RSX/LIGNE DE COMMANDE ★ BANK MANAGER - LES INSTRUCTIONS CACHÉES ★

Bank Manager - Les Instructions CachéesApplications Utilitaires Rsx/ligne De Commande

3 nouvelles instructions pour le Bankmanager du 6128. En fouillant un peu, Michel PROST a découvert de nouvelles RSX cachées dans le programme BANKMAN.BIN. En voici la liste complète et leurs modalités d'utilisation.
Faire un reset puis lancer BANKMAN. Ensuite ''poker" en &A348,&56. On dispose maintenant de trois nouvelles commandes (|VIEW |VDU |VDUO).

  • |VIEW

    SYNTAXE  : |VIEW,n où n prend la valeur 0 ou 1.

    FONCTION : |VIEW,0 visualise l'espace mémoire &4000 à &7FFFF. Attention, ce n'est pas l'équivalent de call &BC06,&40 car la gestion écran reste en &C000. |VIEW,1 visualise l'espace mémoire &C000 à&FFF. On remarque que si on effectue une commande mode (0,1,2) la page 0 n'est pas effacée. Si on visualise la page 0 et que l'on effectue une commande mode, on se retrouve en page 1, idem si on scrolle la page 1.

  • |VDU,n

    SYNTAXE : |VDU,n où n prend la valeur 0 ou 1.

    FONCTION : |VDU,0 passe la gestion écran en &4000. Après cette commande, si l'on tape |VIEW, 1, on remarque que rien ne s'affiche sur l'écran car il se situe en &4000. La commande |VIEW,0 permet la visualisation de l'écran. On remarque que l'écran est décalé si l'on "poke" en &4000,255 donc faire un mode (0,1,2) afin que l'écran se trouve à sa place. La remise en place de l'écran 0 peut s'effectuer depuis la page 1 (|VDU,0:mode 2:|VDU,1)

  • |VDU0,n

    SYNTAXE : |VDU0,n où n peut prendre les valeurs 0, 2, 3, 4, 5.

    |FONCTION : permet la sélection des blocs mémoires. Pour faire les essais, il faut se trouver en page 1, donc taper |VDU, 1 :|VIEW, 1. Ensuite, faire les essais suivants : Taper |VDUO,2 puis charger un programme binaire en &4000 (une image écran par exemple : pensez au memory &3FFF). Maintenant, taper |VDU0,0 puis |VIEW,0. On constate que l'écran est vide : maintenant, faire |screencopy,0,2 et la page écran affiche si le mode n'est pas le bon, faire mode(0,1,2) puis |VIEW,0 et l'écran est toujours là.

Taper par exemple |VDU0,3 puis poke &4000,255 et ensuite |VDU0,4:poke &4000,144. Maintenant, revenir en banque 3 (|VDU0,3) puis taper print peek(&4000). Revenir en banque 4(|VDU0,4) puis taper print peek(&4000). Suite aux résultats, on remarque que l'on accède aux différentes banques depuis le BASIC. Maintenant, passer en page 0 (après avoir tapé |VDU0,0 faire |VDU,0), la gestion écran se trouve alors en &4000. Entrer par exemple |VDU0,5 et l'on constate que la gestion écran n'est plus en page 0, ni en page 1 (faire un |VIEW,1 pour le constater). On est donc totalement "aveugle", pourtant on a bien toujours la main. En effet, taper print chr$(7): border 26,0 pour le vérifier. Toujours en "aveugle" taper |VDU,1. Maintenant, faire un |screencopy, 1,5 et la page 5 s'affiche. Donc il est possible d'écrire du texte ou du graphisme dans les banques à partir du BASIC.

Si on déplace les pointeurs du BASIC en &4000 (voir CPC 28 page 94), il est possible d'écrire et de charger du BASIC

DANS LES BANQUES !!!

Par prudence pour chaque banque, faire un new ; en effet, si le BASIC commence en &4000 et que l'on est dans une banque (2,3,4,5) et que l'on demande list, on a souvent un "syntax error". Il est donc possible de charger des programmes dans les différentes banques depuis le lecteur de disquettes. Attention à la taille des programmes. De
plus, il faut charger le programme le plus grand en dernier car il n'y a pas autant de pointeurs BASIC qu'il y a de banques. Donc, prudence lors du chargement aes programmes, attention aussi car les variables ne sont pas transportées d'une banque à l'autre. S'il y a reset, les programmes restent en mémoire mais les pointeurs sont détruits et les programmes ne fonctionnent plus.

Pour les programmes en langage machine, il semble qu'il n'y ait pas trop de problèmes. J'ai fait des essais avec des programmes BASIC compilés en &4000 par TYPHON, les programmes machine logés dans la mémoire écran fonctionnent aussi (EDITEUR DE LANGAGE MACHINE CPC 18). Contrairement aux programmes BASIC, les programmes binaires fonctionnent après reset de la macnine (si on recharge Bankman).

En revanche, il y a des problèmes avec les RSX. Par exemple, si on initialise des commandes RSX en banque 5, elles fonctionnent, mais si l'on change de banque alors tous les RSX sont détruits (même les RSX du genre |disc, |tape, |era...).

Il serait intéressant que chacun de son côté cherche les restrictions, améliorations, applications à ces commandes, car il y a certainement des bugs cachés. Il faut noter que les commandes |screencopy et |screenswap acceptent le paramètre 0.

Un truc au passage pour lutter contre le REDO FROM START. Il suffit d'ouvrir une fenêtre dont la hauteur est de 1 et de faire l'input dans cette fenêtre. Exemple :

10 window#1,1,80,24,24
20 input #1,numéro

CPC n°33

★ ANNÉE: ???
★ CONFIG: 128K + AMSDOS
★ LANGAGE: ???
★ LICENCE: ???
★ AUTEUR: Michel PROST

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 072 millisecondes et consultée 859 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.