CODING ★ RUBI DOUILLE - RSX ★

Bidouilles ACPC n°12 - Création de RSX
Salut encore, bande de petites graisseuses et bande de petits graisseux. Comment vous portez-vous, alors que cette nouvelle année commence ?

Nous, au bureau, ça pète un maximum (au sens figuré, bien sûr). Vous connaissez Rubi ? Non, alors laissez-moi vous le présenter.

Comme nous vous l'avons déjà dit, des tas de gens se mettent en contact avec nous dans le simple but de partager notre amour pour le CPC. Un jour, alors que nous vaquions à nos occupations quotidiennes. The Celtick Gang Copyright France vint nous voir en personne, avec un de ses amis : Claude. Après avoir échangé des politesses et avoir mangé un petit bout à la pizzeria du coin, nous nous quittâmes en bons termes. La fois suivante, ces poteaux ne sont pas venus à deux mais à trois. Le troisième de ces larrons était le grand, l'illustrissime. L'unique : Rubi.

LA PERLE SUR CPC

Rubi est bien connu pour tous les softs déplombés sur lesquels nous passerons rapidement mais surtout pour les présentations d'enfer qu'il y ajoute. Un mode deux en 27 couleurs cela ne vous dit rien ? Bien sûr, ce n'est pas utilisable en Basic. Bien entendu, ce n'est pas donné à tout le monde, mais qu'est-ce que c'est beau ! Comme bon nombre de pirates, Rubi souffre du manque de compréhension de son entourage. Là, je parle au nom de tous les déplombeurs. En effet, on considère ces êtres comme des machines à craquer des softs. Je tiens à mettre les points sur les i, car il faut savoir que pour réussir à pulvériser une protection, il faut être avant tout un parfait programmeur et , en plus, connaître à fond la machine sur laquelle on travaille. Alors, ne traitez pas ces gens comme des épiciers à déplomber et tentez simplement d'arriver à leur niveau. Cela dit. notre cher Rubi connaît le CPC comme un taxi parisien qui travaille depuis vingt ans dans la capitale connaît chaque rue de cette belle ville ; et ce n'est pas peu dire. Comme c'est un mec super sympa, bien que réservé, il nous a promis de nous donner tous les petits trucs qu'il utilise et dont lui seul a le secret. Préparez-vous donc à voir des choses extravagantes dans les Cent Pour Cent à venir. Je dois dire que c'est bien la première fois que je me vois mettre une aussi belle dérouillée sur CPC. Ça me donne envie de décapiter tout ce qui me passe sous la main, et je crois que je ne vais pas me priver de ce petit plaisir. Tiens, pour me venger, voici une devinette : que fait Rubi lorsqu'il est complètement bourré ? C'est simple, le Rubi cuve ! (trois sur vingt, et encore je suis sympa). Bon, fini de rigoler, nous allons passer maintenant aux choses sérieuses.

LES RSX DE MISS X

Avant de commencer réellement, je souhaite que nous ayons une petite pensée sympa pour le père Robby qui se gèle quelque part sous les drapeaux. Une petite minute de silence... Pauvre Robinounet, vivement qu'il nous revienne, en pleine forme, l'animal. Il nous manque tous les jours un peu plus. Faut voir la tête à Miss X lorsqu'elle regarde le bureau vide du disparu, c'est tout juste si elle ne verse pas une larme en contemplant ce triste spectacle. Lipfy se plaint tout le temps de ne pas avoir assez de vies pour finir ses jeux, Pierre et Septh gueulent parce qu'ils ne trouvent plus rien ( normal, c'est Robby qui rangeait tout, et, comme il est parti... ).

2) tous les sauts aux routines ( JP truc , JP machin , JP jenesékoi. etc. ).
3) les mots clefs en majuscule, Arthur, dont la dernière lettre a le bit sept à un.
4) un zéro pour clore le tout.

Un bon vieux listing vaut mieux que dix mille explications ; ce qui nous permet de nous détendre un peu. Voici deux RSX supplémentaires et bien petites, que ce soit par leur utilisation ou par leur taille. La première sert simplement à attendre une touche au clavier (GET,toucheS), la seconde fait bip (BIP). Une seule contrainte, il faut absolument initialiser une variable avant d'appeler GET comme ceci par exemple :

A$=" ":ùGET,@A$

Notez que la première chose que fait notre petit listing est de forcer un RET (&C9) au début de la routine pour qu'elle ne soit pas appelée deux fois. Voyez aussi quel joli bip fait la routine de GET lorsqu on ne lui passe pas de paramètre. Ces deux RSX sont toutes simples mais elles peuvent servir, non ?

Bref, c'est la m... et les partisans du CACA sont dedans jusqu'au cou. Pour parler d'autre chose, comment installer Miss X ? C'est très simple. Il faut lui acheter un superbe manteau de fourrure, réserver une super suite dans un des plus somptueux hôtels parisiens, lui offrir une Ferrari et... (Note de Lipfy et Septh : "Veuillez l'excuser, il fantasme".) Oh pardon ! Bon, je reprends. Comment installer des RSX ? C'est bien plus simple qu'il n'y paraît. Il faut avant tout se munir d'un assembleur de bonne qualité -Dams, par exemple. Je sais, il coûte cher, mais je vous assure qu'il vaut le coup. Ensuite, il faut savoir ce qu'est une RSX. En anglais, ces trois lettres représentent les mots Résident System eXtension. Ce qui signifie, une fois décodé par un traducteur chevronné : extension résidente du système. Il existe déjà pas mal de RSX sur les 6128. DIR, DISC, TAPE, A, B, etc. sont des RSX mises en place par le CPC lors de l'initialisation de la ROM numéro sept qui contient le système d'exploitation du disque ; en bref : l'Amsdos. Toutes les RSX se distinguent des autres commandes par le caractère qui les précède : CHR$(124). Ce petit caractère s'obtient en pressant la touche shift et l'arobas pour les CPC Qwerty ou bien, Shift et ù pour les CPC Azerty.

Pour que le système reconnaisse une RSX il faut passer par lui. Un vecteur est donc mis à notre disposition à cet effet. C'est le saut situé à l'adresse &BCD4 qui s'occupe de cette tâche. Il n'est pas possible d'appeler ce vecteur depuis le Basic car les registres BC et HL doivent être chargés respectivement avec la table des RSX et un petit espace mémoire de quatre octets pour le Kernel. On appelle ainsi le noyau qui file la pêche au CPC. C'est le programme qui gère les interruptions, et toutes les petites choses importantes du CPC ( du clavier au co-processeur sonore ... ). Donc, pour en revenir aux tables, il faut mettre les quatres octets, mais peu importe ce qu'ils contiennent, car c'est le système qui les gère et qui en fait ce qu'il veut. Par contre, en ce qui concerne la table des RSX il faut se méfier car elle a un format spécial qu'il faut respecter au quart de pisquel. Voici, môsieu, ledit format : 1) l'adresse codée sur deux octets (poids faible, poids fort) où commencent les mots clefs.

PRECAUTIONS D'EMPLOI

Avec ces trucs-là, il faut se méfier. Avant tout, il ne faut pas appeler deux fois la routine d'installation des RSX ; soit ça plantouille, soit ça déconne, et. dans les deux cas, les résultats ne sont pas ceux escomptés. Pour finir, la courte liste des bêtises à ne pas faire : il faut qu'il y ait autant de sauts (jumps en rosbif soit JP) que de mots clefs installés. Voilà le travail ; alors a vous de jouer.

ERRARE HUMANUM EST

Comment ? Qu'ai-je entendu ? Une nouvelle est arrivée droit à nos oreilles encore abasourdies par la violence du choc. Un petit malin a fait une farce à un magazine concurrent que je ne citerai pas mais dont vous connaissez certainement le nom. Ce petit pirate a envoyé des vies infinies pour un jeu. et au septième lancement de ce soft la page de présentation affichait : "N'achetez plus" (censuré). "Vive Amstrad Cent pour Cent".

ORG #9000 ; Implantation en 9000.
EXEC $ ; Adresse d'entrée.
START LD HL,START ; HL pointe sur le début.
LD (HL),#C9
LD BC,RSX ; BC pointe sur la table des RSX
LD HL,RSXBUFF ; HL poine sur 4 octets libres.
JP #BCD1
;
RSXBUF DEFS 4 ; Tampon de quatre octets.
RSX DEFW RSXTAB ; Adresse des mots clefs
JP LIS ; Saut à la routine de lecture.
JP BEEP ; Saut à la routine beep
RSXTAB DEFM GE ; Met clef GET avec le bit 7
DEFB "T"+#80 ; du dernier caractère à un.
DEFM BI ; Mot clef BIP avec la bit 7
DEFB "P"+#80 ; du dernier caractère à un.
DEFB 0 ; Zéro pour finir la table.
;
LIS CP ;1 ; Un paramètre ?
JR NZ,BEEP ; Sinon Beep.
EX DE,HL ; Dernier paramètre dans HL
INC HL ; HL qui pointe sur l'adresse
LD E,(HL) ; de la chaîne de caractères
INC HL ; que l'on récupère
LD D,(HL) ; dans le registre DE.
EX DE,HL ; HL=DE.
CALL #BB06 ; Attente d'une touche.
LD (HL),A ; Stockée dans la variable.
RET ; Retour au Basic.
;
BEEP LD A,7 ; A=7 Interprétation du code de
JP #BB5A ; contrôle et retour au Basic.

Je prie et supplie ce bidouilleur de ne plus faire ce genre de trucs car c'est sur nos pieds que peuvent retomber des séquelles. Heureusement que c'est un ami qui a étouffé l'affaire (hip hip hip hourra pour Popol !). Sans quoi, nous aurions pu avoir un procès aux fesses - ce qui signifie : plus de Cent Pour Cent. Alors déplombeurs et déplombeuses. pitié, plus de plan-tades dans le genre, si vous tenez un peu à nous. Merci d'avance !

SUITE ET FIN DE LA SUITE

Dites donc les enfants, c'est pas qu'on s'ennuie, mais il commence à se faire tard. Je vais donc aller me coucher dans mon petit lit, froid mais douillet, où je rêverai encore de ma tendre Miss X, allongée, dans une tenue à la limite du correct, sur le sable chaud et blanc d'une île déserte fabuleusement ensoleillée. Au mois prochain et que dieu CPC vous garde.

Sined le fatigué , A100% n°12

Page précédente : Bidouilles ACPC n°08 - RSX editeur de secteurs

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Assembleur ACPC n°22 - Le CLS le plus rapide sur CPC - Part II
» Coding » Bidouilles ACPC n°37 - FDC en mode direct
» Coding » Assembleur ACPC n°44 - La programmation HARD du PSG
» Coding » Bidouilles ACPC n°47 - Les vecteurs system (5/6)
» Coding » Assembleur ACPC n°31 - La femme au scroll infame
» Coding » Assembleur ACPC n°36 - Dis moi, c'est quoi l'assembleur
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 328 millisecondes et consultée 2579 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.