" />
Interface AREXX ACE dispose d'un jeu de commandes assez complet qui vous permettra de faire à peu près tout ce que vous voulez ! Grâce à la modularité de l'interface AREXX, tout devient possible, tout devient automatisable... votre créativité sera sans limites ! Ainsi donc, vous trouverez ci-après la liste des commandes actuellement disponibles sur le port AREXX d'ACE. Commandes liées à l'application : * VERSION : retourne le numéro de version d'ACE. * HIDE : icônifie ACE. * SHOW : montre ACE à nouveau s'il était icônifié. * QUIT : quitte ACE. * FULLSCREEN ACTIVATE/N,TOGGLE/S : retourne l'état du mode plein écran. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré. Mettre ACTIVATE à 1 passe en mode plein écran, 0 sort du plein écran. TOGGLE permute le mode courant. * SCREENTOFRONT : met l'écran hébergeant ACE en avant plan. * SCREENTOBACK : met l'écran hébergeant ACE en arrière plan. * WINDOWTOFRONT : met la fenêtre principale d'ACE en avant plan. * WINDOWTOBACK : met la fenêtre principale d'ACE en arrière plan. * WARNINGS ACTIVATE/N,TOGGLE/S : retourne l'état d'activation des messages d'avertissement. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré. Mettre ACTIVATE à 1 active l'affichage des messages d'avertissement, 0 le désactive. TOGGLE permute le mode courant. Note : les messages d'avertissement affichent des informations dans le cas du chargement de fichiers disque image ou SNA partiellement invalides. * KEYJOY ACTIVATE/N,TOGGLE/S : retourne l'état d'activation de l'utilisation des touches du clavier à la place de la manette 0. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré. Mettre ACTIVATE à 1 active l'option, 0 la désactive. TOGGLE permute le mode courant. Commandes de pilotage de l'émulateur : * RESET HARD/S : réinitalise/redémarre l'émulateur. Si le mot-clef HARD est précisé, alors il s'agira d'un redémarrage à froid. * PAUSE : met l'émulateur en pause. * START STEP/S : relance l'émulateur. Si STEP est présent, alors une seule instruction Z80 sera exécutée (mode pas-à-pas). * CRTC CRTC=TYPE/N : si TYPE est présent, alors sélectionne l'émulation du CRTC spécifié (0 à 4, 3 étant le CPC+). Sinon, renvoie le type de CRTC actuellement émulé. Attention : la version de Gate Array sera également changée si elle n'est pas compatible avec le nouveau CRTC. * GATEARRAY GATEARRAY=VERSION/N : si VERSION est présent, alors sélectionne l'émulation du Gate Array spécifié (40007, 40010, 40226 ou 40489, ce dernier étant le CPC+). Sinon, renvoie la version de Gate Array actuellement émulée. Attention : le type du CRTC émulé sera également changé s'il n'est pas compatible avec le nouveau Gate Array. * WILDSPEED ACTIVATE/N,TOGGLE/S : retourne l'état du mode de vitesse débridée. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré. Mettre ACTIVATE à 1 passe en mode de vitesse débridée, 0 retourne en vitesse réelle. TOGGLE permute le mode courant. * AUDIO=SOUND ACTIVATE/N,TOGGLE/S : retourne l'état de la sortie audio. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré. Mettre ACTIVATE à 1 active la sortie audio, 0 rend l'émulateur muet. TOGGLE permute le mode courant. * INSERTDISC FILE/A,DRIVE : insère le fichier disque image FILE dans le lecteur DRIVE (0/1 ou A/B, par défaut il s'agit du lecteur A). * EJECTDISC DRIVE : éjecte le fichier disque image du lecteur DRIVE (0/1 ou A/B, par défaut il s'agit du lecteur A). * GETDISCNAME DRIVE : retourne le nom du fichier disque image inséré dans le lecteur DRIVE (0/1 ou A/B, par défaut il s'agit du lecteur A). * INSERTCARTRIDGE FILE/A FORCE/S : insère un fichier CPR FILE dans le port cartouche (CPC+ seulement). FORCE passe l'émulation en CPC+ si ça n'était pas le cas. * EJECTCARTRIDGE : éjecte la cartouche actuellement insérée (CPC+ seulement). * GETCARTRIDGENAME : retourne le nom du fichier CPR inséré dans le port cartouche (CPC+ seulement). * LOADSNA FILE/A : charge le fichier SNA FILE. * SAVESNA FILE/A : sauve un SNA de l'état actuel du CPC dans le fichier FILE. * FLASHROM FILE/A,ROM/A/N : charge le fichier FILE en tant que ROM haute numéro ROM. Attention, comme ça serait le cas sur un véritable CPC, changer la configuration des ROMs alors que le CPC est en train de tourner provoque généralement un plantage du système d'exploitation, et un redémarrage du CPC sera nécessaire. * REMOVEROM ROM/A/N : retire la ROM haute numéro ROM. Attention, comme ça serait le cas sur un véritable CPC, changer la configuration des ROMs alors que le CPC est en train de tourner provoque généralement un plantage du système d'exploitation, et un redémarrage du CPC sera nécessaire. * RAWKEYPRESS KEY=CODE/A/N : simule l'appui de la touche CODE (étant le numéro de touche physique sur le clavier du CPC). * RAWKEYRELEASE KEY=CODE/A/N : simule le relâchement de la touche CODE (numéro de touche physique sur le clavier du CPC). * RAWKEYSTROKE KEY=CODE/A/N,DELAY/N : simule l'appui puis le relâchement de la touche CODE (numéro de touche physique sur le clavier du CPC) en attendant DELAY micro-secondes entre temps. Si le paramètre DELAY est omis alors l'attente est de 19968 micro-secondes, ce qui correspond à la fréquence du balayage vidéo (la valeur maximal acceptée est de 1000000 micro-secondes, soit une seconde). Attention : si vous mettez une valeur trop faible, le CPC émulé ne détectera pas tous les changements d'état des touches ; en général le test clavier des jeux n'est fait qu'une seule fois par balayage vidéo. * KEYBOARDSTROKE STR=STRING/A/F : simule l'appui d'une succession de touches contenues dans STRING sur le clavier. Contrairement à RAWKEYPRESS, RAWKEYRELEASE et RAWKEYSTROKE cette commande est indépendante du type de clavier (AZERTY ou QWERTY) puisqu'elle considère directement les codes ASCII. Attention : cette commande a besoin d'une ROM firmware standard pour fonctionner correctement car elle détecte et utilise la configuration clavier du CPC émulé pour traduire les touches. Commandes pour l'assistance au développement : * POKE ADR=ADDRESS/A/N,VAL=VALUE/A/N,LINEAR/S : écrit un octet VALUE à l'adresse ADDRESS dans la mémoire du CPC. Si LINEAR est précisé, l'adresse sera considérée comme un accès linéaire à totalité de la mémoire du CPC (0x0000-0xFFFF = mémoire centrale, 0x10000-0x1FFFF = premiers 64ko, etc..). * PEEK ADR=ADDRESS/A/N,LINEAR/S : lit un octet à l'adresse ADDRESS dans la mémoire du CPC. Si LINEAR est précisé, l'adresse sera considérée comme un accès linéaire à totalité de la mémoire du CPC (0x0000-0xFFFF = mémoire centrale, 0x10000-0x1FFFF = premiers 64ko, etc..). * LOAD FILE/A,ADR=ADDRESS/N,OFT=OFFSET/N,LEN=LENGTH/N,LINEAR/S,RAW/S : charge le contenu du fichier FILE à partir de l'OFFSET, sur une taille maximale de LENGTH, à l'adresse ADDRESS. Si RAW est précisé, alors tout entête binaire sera ignoré même s'il est présent et valide. Lorsque vous chargez un fichier sans entête binaire ou en mode RAW, alors le paramètre ADDRESS est obligatoire. Lorsque vous chargez un fichier avec entête, l'adresse de chargement indiquée dans celui-ci sera utilisée lorsque le paramètre ADDRESS n'est pas spécifié. Si LINEAR est précisé, l'adresse sera considérée comme un accès linéaire à totalité de la mémoire du CPC (0x0000-0xFFFF = mémoire centrale, 0x10000-0x1FFFF = premiers 64ko, etc..). * SAVE FILE/A,ADR=ADDRESS/A/N,LEN=LENGTH/A/N,EXE=EXECUTION/N,LINEAR/S,RAW/S : sauve ce qui se trouve à l'adresse ADDRESS sur une longueur LENGTH dans le fichier FILE. Si EXECUTION est précisé, alors la valeur donnée sera utilisée pour sauver l'adresse d'exécution dans l'entête binaire du fichier (à noter que l'adresse d'exécution ne peut être supérieure à 0xFFFF). Si RAW est précisé, alors le fichier sera sauvé sans entête binaire. Si LINEAR est précisé, l'adresse sera considérée comme un accès linéaire à totalité de la mémoire du CPC (0x0000-0xFFFF = mémoire centrale, 0x10000-0x1FFFF = premiers 64ko, etc..). Dans ce cas, et si l'entête binaire n'a pas été désactivée à l'aide du paramètre RAW, l'adresse et la longueur sauvées dans celui-ci le seront sur 24 bits et non seulement sur 16 (ceci est en effet possible dans le format de l'entête binaire). * OUT PORT/A/N,VAL=VALUE/A/N : écrit un octet VALUE sur le port PORT du CPC. * INP PORT/A/N : lit un octet sur le port PORT du CPC. * BREAKPOINTS ACTIVATE/N,TOGGLE/S : retourne l'état d'activation des points d'arrêt. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré. Mettre ACTIVATE à 1 active la gestion des points d'arrêt, 0 la désactive. TOGGLE permute la gestion courante. * SETBREAKCONDITIONS VBL/S,HBL/S,OPCODE/S,INT=INTERRUPT/S,DISC=DISCACCESS/S, BADVBL/S,BADHBL/S : active les points d'arrêt sur les conditions spécifiées (et les désactive pour les autres). Sans paramètre, toutes les conditions de points d'arrêt seront désactivées. * ADDBREAKPOINT TYPE/A,ADR=ADDRESS/A/N,ADRMASK=ADDRESSMASK/N,ACCESS, VAL=VALUE/N,VALMASK=VALUEMASK/N,CONDITION,STEP/N,NAME,WATCHER/S : positionne un point d'arrêt du type TYPE (EXECUTE, MEMORY ou PORTS) nommé NAME pour un accès ACCESS (READ-ONLY, WRITE-ONLY ou READ-WRITE), à l'adresse ADDRESS, selon un masque ADDRESSMASK, pour une valeur VALUE avec un masque VALUEMASK toutes les STEP itérations sous la conditions CONDITION. Note 1 : si WATCHER est indiqué alors le point d'arrêt ne stoppera pas l'exécution mais mettra simplement à jour le compteur d'occurrence. Note 2 : si un point d'arrêt existe déjà avec les mêmes caractéristiques alors les valeurs de CONDITION, STEP, NAME et le mode (WATCHER) seront mises à jour. Note 3 : les paramètres de valeur et de masques sont sans effet pour un pour d'arrêt en exécution. Note 4 : la valeur par défaut du masque d'adresse est 0xFFFF (c'est-à-dire exactement l'adresse indiquée). Note 5: la valeur par défaut du masque de valeur est 0x00 (c'est-à-dire n'importe qu'elle valeur). * REMOVEBREAKPOINT TYPE/A,ADR=ADDRESS/N,ADRMASK=ADDRESSMASK/N,ACCESS, VAL=VALUE/N,VALMASK=VALUEMASK/N,ALL/S : retire un point d'arrêt du type TYPE (EXECUTE, MEMORY ou PORTS) pour un accès ACCESS (READ-ONLY, WRITE-ONLY ou READ-WRITE), à l'adresse ADDRESS, selon un masque ADDRESSMASK, pour une valeur VALUE avec un masque VALUEMASK. Si ALL est positionné alors tous les points d'arrêt du TYPE indiqué seront supprimés (les autres paramètres sont ignorés). * AF VAL=VALUE/N : si VALUE est présent, alors reprogramme le registre du Z80 avec. Sinon, renvoie la valeur courante du registre. * BC VAL=VALUE/N : voir AF. * DE VAL=VALUE/N : voir AF. * HL VAL=VALUE/N : voir AF. * SP VAL=VALUE/N : voir AF. * PC VAL=VALUE/N : voir AF. * AFx VAL=VALUE/N : représente un registre secondaire ; voir AF. * BCx VAL=VALUE/N : représente un registre secondaire ; voir AF. * DEx VAL=VALUE/N : représente un registre secondaire ; voir AF. * HLx VAL=VALUE/N : représente un registre secondaire ; voir AF. * IX VAL=VALUE/N : voir AF. * IY VAL=VALUE/N : voir AF. * I VAL=VALUE/N : représente un registre 8 bits ; voir AF. * GETUSERCOUNTER TYPE/A : renvoie la valeur du compteur utilisateur spécifié via TYPE. Ces compteurs correspondents à ceux disponibles dans la fenêtre Z80 et les valeurs possibles sont : . MICROSECONDS pour le compteur de microsecondes. . LINES pour le compteur de lignes. . FRAMES pour le compteur de trames. * RESETUSERCOUNTER TYPE/A : remet à zéro le compteur utilisateur spécifié via TYPE. Les valeurs possibles sont les mêmes que pour GETUSERCOUNTER. * GETLASTBREAKTYPE : retourne un statut sur le(s) dernier(s) type de point d'arrêt s'étant activé. Cette option est particulièrement pratique dans les scripts exécutés lors de l'activation des points d'arrêt puisqu'elle permet de savoir dans quelles conditions l'arrêt a eu lieu. Le statut est retourné sous la forme d'une chaine formatée comme suit : [Exécution][Port I/O][Mémoire][Interruption][HBL][VBL][Mauvaise HBL][Mauvaise VBL][Accès disque][Pas-à-pas][Position vidéo] Chaque section entre crochet correspond à un type de point d'arrêt et contiendra "-" si ce type de point d'arrêt n'est pas impliqué dans le dernier arrêt. Si ce type de point d'arrêt était actif, alors la section correspondante contiendra son nom s'il était nommé ou une chaîne par défaut contenant le nom du type de point d'arrêt s'il n'était pas nommé ("Execution", "I/O port access", "Memory access", "Interrupt", "HBL", "VBL", "Bad HBL", "Bad VBL", "Disc access", "Step by step" or "On screen break"). * ONSCREENBREAK X/A/N,Y/A/N : positionne un point d'arrêt aux positions X et Y. Ces positions sont des positions de balayage vidéo qui représentent un emplacement fixe à l'écran et ne dépendent pas de la résolution graphique utilisée. Note : ce point d'arrêt correspond au point d'arrêt "Arrêt à la position cliquée à la souris" disponible dans le menu "Traçage" et un seul à la fois peut-être réglé.