" /> ACE · Sommaire

IndexBrowse >




    ACE 1.8 
    L'émulateur d'Amstrad CPC/CPC+ acidulé.

    Copyright © 2011-2014 Philippe Rimauro
    Tous droits réservés.

     Introduction         - Le pourquoi et le comment
     Prérequis            - Ce qu'il faut pour en profiter
     Installation         - La procédure d'installation

     Fonctionnalités      - Le champ du possible
     Configuration        - ACE à votre convenance
     Utilisation          - Comment marche l'émulateur
     Scripts & outils     - Pour aller encore plus loin

     Foire aux questions  - Conseils et explications utiles
     Bugs connus          - Les quelques problèmes connus

     À venir              - Ce que les prochaines versions apporteront
     Historique           - Comment ACE a évolué au cours du temps

     Programmation        - D'où vient tout cela ?

    Le site officiel : http://ace.cpcscene.net.

    Et aussi n'hésitez pas à :
      * lire notre fanzine sous forme de wiki  : http://quasar.cpcscene.net,
      * télécharger des jeux, démos et outils  : http://www.cpc-power.com  ,
      * suivre l'actualité de la demoscene CPC : http://www.pushnpop.net   .


ACE · Introduction

ContentsIndex< BrowseBrowse >




    Introduction


    Il n'avait pas échappé au petit blond à lunettes qu'aucun émulateur
    d'Amstrad CPC n'existait pour MorphOS ! Alors que les PCistes s'amusaient
    allègrement avec une bonne dizaine d'émulateurs plus ou moins médiocres,
    nous, nous n'avions rien !

    Cela ne pouvait pas durer !

    Ainsi, je me suis mis au travail, et voici ACE CPC Emulator.

    Et comme MorphOS mérite ce qu'il y a de mieux, ACE n'a pas simplement pour
    but d'offrir un petit émulateur CPC aux utilisateurs de MorphOS, mais
    véritablement le meilleur émulateur CPC toute plate-formes confondues !

    ACE n'est basé sur aucun émulateur existant et a été programmé de zéro
    en prenant le comportement du véritable CPC comme base ; il est écrit
    entièrement en langage C et son interface graphique repose sur MUI 4.

    Bien sûr, ACE n'est pas encore complet. Toutefois, vous pouvez déjà utiliser
    la quasi-totalité des programmes CPC et CPC+ sans aucun problème de
    compatibilité et avec une qualité généralement supérieure à celle des
    meilleurs émulateurs CPC disponibles sur PC à ce jour.


ACE · Prérequis

ContentsIndex< BrowseBrowse >




    Prérequis


    Configuration minimale requise :
    (pour un fonctionnement à la frame en overlay)

    * MorphOS 2.5 ou supérieur,
    * 2Mo d'espace disque dur,
    * 8Mo de mémoire vive,
    * un G4 à 600MHz en émulation CPC (un peu plus en émulation CPC+).

    Vous aurez besoin de plus de puissance processeur si vous désactivez
    l'overlay (déconseillé !).


ACE · Installation

ContentsIndex< BrowseBrowse >




    Installation


    Il n'y a pas véritablement besoin d'installation.
    Copiez simplement le répertoire d'ACE où vous désirez.

    Note 1 : ACE a besoin de la classe MCC_HexEdit de Miloslaw Smyk pour
    afficher certaines informations dans les fenêtres avancées. Si elle n'est
    pas installée vous ne pourrez pas les utiliser, mais cela n'affectera pas
    les fonctionnalités standard d'ACE.

    Note 2 : pour utiliser les scripts REXX fournis vous aurez besoin de la
    rexxsyslib.library installée dans votre répertoire LIBS: (sinon, les
    commandes AREXX peuvent toujours être utilisées de façon unitaire grâce à
    RxCmd ou via Lua).


ACE · Fonctionnalités

ContentsIndex< BrowseBrowse >




    Fonctionnalités


    La version actuelle d'ACE ne dispose pas encore de toutes les
    fonctionnalités prévues mais la plupart des jeux et des démos CPC et CPC+
    fonctionnent déjà parfaitement. En fait, la qualité est d'ores et déjà
    supérieure à ce que font les gros émulateur CPC existants sur PC/Windows
    depuis de nombreuses années (enjoy!).

    Emulateur :

    * Système :
      · gestion de tous les modèles de CPC et CPC+,
      · émulation complète du Z80,
      · jusqu'à 256 ROMs d'extension,
      · mémoire étendue jusqu'à 512Kio,

    * Vidéo :
      · émulation fidèle des différents types de CRTC (toutefois seul le type 1
        est terminé, les autres sont perfectibles),
      · émulation totale de toutes les variantes du Gate Array (gestion
        parfaite des split-rasters),
      · émulation totale de l'ASIC des CPC+ (précis au quart de cycle près),
      · émulation des CTM644, GT65 et MM12 (y compris les comportements
        analogiques dynamiques).

    * Audio :
      · émulation totale et très fidèle du PSG (AY-3-8912),
      · émulation extrêmement précise des DMA audio des CPC+,
      · support de la Digiblaster/Soundplayer.

    * Périphériques :
      · émulation fidèle mais incomplète du FDC (les instructions Format et Scan
        ne sont pas encore émulées),
      · émulation fidèle des deux lecteurs de disquettes (la vitesse de rotation
        réelle est considérée, les interrupteurs de changement manuel de face et
        de lecteur sont gérés),
      · émulation du port cartouche des CPC+ et de la GX4000,
      · émulation de l'interface cassette via des fichiers audio (en lecture
        seule),
      · redirection du port imprimante vers un fichier,
      · émulation fidèle du clavier, y compris des interférences lors de l'appui
        simultanné de certaines touches,
      · gestion des deux manettes de jeu (jusqu'à 3 boutons) à partir de vraies
        manettes connectés sur la machine hôte (en USB ou autre).
      · émulation du Magnum Light Phaser et du Trojan Light Phazer via la
        souris.
      · passerelle vers le disque dur de la machine hôte via l'interface
        cassette du CPC pour pouvoir accéder directement aux fichiers.

    Interface graphique :

    * configuration simple et modulaire du CPC émulé grâce aux types d'outils de
      l'icône ou en ligne de commande,
    * possibilité de changer de type de CRTC, la version du Gate Array et le
      modèle d'écran à la volée sans avoir besoin de relancer le programme en
      cours d'exécution dans ACE,
    * gestion des fichiers SNA et DSK (standards et étendus) avec détection
      automatique des DSK mal générés et tentative de correction à la volée,
    * gestion des fichiers CPR pour les cartouches CPC+ et GX4000,
    * support de l'overlay avec respect du ratio des pixels,
    * support d'un mode plein écran avec choix du mode graphique à utiliser
      afin de retrouver la fluidité du 50Hz si votre moniteur le permet,
    * interface masquable/affichable aussi bien en mode fenêtré qu'en plein écran,
    * affichage des diodes d'activité des lecteurs de disquettes en surimpression
      vidéo lorsque l'interface est masquée,
    * gestion évoluée des points d'arrêt sur des conditions prédéfinies (HBL,
      VBL, interruption, etc.), des coordonnées graphiques, des adresses
      d'exécution, des accès en mémoire ou à des ports entrée-sortie (avec
      possibilité de condition complexes, de masque sur l'adresse et/ou la
      valeur) avec possibilité d'exécution de scripts,
    * affichage d'un curseur vidéo signalant la position du canon à électron,
      en pause ou en pas-à-pas,
    * éditeur de mémoire (gestion de la commutation des banks et des ROMs,
      détection automatique de la page de code des caractères en fonction de la
      ROM firmware utilisée),
    * désassembleur Z80 (avec mise en évidence des opcodes et boutons de
      navigation rapide dans le code),
    * éditeur de CRTC (accès en modification à tous les registres en temps
      réel),
    * éditeur de Z80 (accès en modification à tous les registres en temps
      réel),
    * analyseur Gate Array (affichage de la palette, du mode graphique et du
      compteur de gestion des interruptions en temps réel),
    * analyseur PSG (décodage des notes, de leur justesse et affichage de tout
      un tas d'informations enrichies en temps réel),
    * fenêtre d'informations vidéo (affichage de la fréquence de balayage et de
      la position courante du canon à électron en temps réel),
    * possibilité d'utiliser le clavier à la place d'une manette de jeu,
    * fenêtre de réglage de l'écran (type, luminosité, balayage vertical).
    * contrôle du volume sonore,
    * aide en ligne et bulles d'aides MUI présentes à tous les niveaux pour
      assister les débutants,
    * localisation en français et en anglais (y compris l'aide en ligne).

    Interface AREXX :

    * nombreuses commandes AREXX permettant de totalement piloter l'émulateur
      et de manipuler sa mémoire, pour automatiser tout un tas de choses, mais
      aussi pour l'utiliser comme une véritable station de développement depuis
      des scripts REXX ou Lua.


ACE · Configuration

ContentsIndex< BrowseBrowse >




    Configuration


    ACE dispose d'options qui peuvent être activées en tant que types d'outils
    pour un lancement depuis Ambient, ou par arguments pour un lancement en
    ligne de commande.

    Une fois lancé, la plupart des options principales d'ACE demeurent
    accessibles directement depuis le menu "Préférences" de l'interface.

    Types d'outils/Arguments :

    * RS=RAMSIZE/K/N : permet de changer la taille de la mémoire du CPC. Le
      minimum est de 64Kio et le maximum de 576Kio (64Kio de mémoire centrale
      plus 512Kio de mémoire d'extension).
      La valeur par défaut est de 128Kio.

    * OS=OSVERSION/K : permet de choisir la version des ROMs du système
      d'exploitation du CPC à utiliser. Il existe quatre versions : la version 1
      était intégrée aux CPC464, la version 2 aux CPC664, la version 3 aux
      CPC6128 et la version 4 était contenue dans la cartouche système des
      464plus et 6128plus. En pratique, toutes les versions du système
      d'exploitation sont compatibles avec tous les modèles de CPC.
      Certaines versions du système d'exploitation existent pour différents
      pays afin d'adapter le clavier et la page de code des caractères ; ACE
      chargera la version spécifiée dans la langue correspondant à votre système
      hôte si possible.
      Les versions 1 et 3 existent pour le français, l'espagnol, le danois et
      l'anglais, la version 4 pour le français, l'espagnol et l'anglais, la
      version 2 n'existe qu'en anglais.
      Le système d'exploitation se compose de trois ROMs :
        - le firmware qui est la ROM de démarrage,
        - le BASIC qui est la ROM applicative par défaut,
        - l'AMSDOS qui est la ROM disque (utilisée uniquement sur les systèmes
          équipés d'une interface disque).
      Toutes les ROMs du système d'exploitation se trouvent dans le tiroir
      PROGDIR:System/ d'ACE.
      Par ailleurs, vous avez la possibilité de choisir unitairement les ROMs
      système à charger grâce aux types d'outil FIRMWARE/K, BASIC/K et AMSDOS/K.
      Par défaut la version 3 du système d'exploitation sera utilisée ; c'est
      celle qui est compatible avec la quasi-totalité des logiciels.

    * FW=FIRMWARE/K : permet de choisir la ROM à utiliser pour le firmware du
      CPC. Il doit s'agir d'un fichier ROM binaire de 16384 octets maximum
      (voire 16512 octets si l'entête binaire de l'AMSDOS est incluse).
      Si le type d'outil n'est pas spécifié alors la ROM firmware correspondant
      à la version du système d'exploitation du CPC choisie (voir le type
      d'outil OSVERSION/K) et à la langue de votre système hôte sera utilisée.
      Par défaut c'est PROGDIR:System/Firmware_?x.rom qui sera installé (où x
      est le numéro de version du système d'exploitation et ? une lettre
      représentant le pays).

    * BAS=BASIC/K : permet de choisir la ROM à utiliser pour le BASIC du CPC. Il
      doit s'agir d'un fichier ROM binaire de 16384 octets maximum (voire 16512
      octets si l'entête binaire de l'AMSDOS est incluse).
      Attention, toutes les versions de la ROM BASIC ne sont pas compatibles
      avec toutes les versions de la ROM firmware ! Utilisez le BASIC 1.0 pour
      les firmwares version 1, le BASIC 1.1 pour les v2 et le BASIC 1.2x ou 1.40
      pour les v3 ou v4.
      Par défaut c'est PROGDIR:ROMs/Basic_v1.2x.rom qui sera utilisé (où x est
      un numéro de révision qui dépend du pays, 3 pour la France, 1 pour
      l'Espagne et 0 pour tous les autres pays).

    * CPM=AMSDOS/K : permet de choisir la ROM à utiliser en tant qu'AMSDOS. Il
      doit s'agir d'un fichier ROM binaire de 16384 octets maximum (voire 16512
      octets si l'entête binaire de l'AMSDOS est incluse). L'AMSDOS est en fait
      la ROM numéro 7 par défaut et sera remplacée par n'importe quelle ROM 7
      externe (configurable via le type d'outil ROM7/K).
      Attention, toutes les versions de la ROM AMSDOS ne sont pas compatibles
      avec toutes les versions de la ROM firmware ! Utilisez l'AMSDOS 0.5 pour
      les firmwares version 1 à 3, et l'AMSDOS 0.7 pour la version 4. En outre,
      PARADOS, l'excellente ROM disque compatible AMSDOS de Richard Wilson,
      fonctionne avec toutes les versions du firmware.
      Par défaut c'est PROGDIR:System/CPM05.rom qui sera utilisé pour les
      versions 1 à 3 et PROGDIR:System/CPM07.rom pour la version 4.

    * ROM0/K : permet de choisir la ROM d'extension 0 à utiliser. Lorsqu'elle
      est présente, la ROM 0 a la particularité d'être la ROM de boot qui sera
      exécutée par le firmware à la place du BASIC. Elle doit donc forcément
      être une ROM de premier plan (comme un autre BASIC, le CP/M ou le Hacker).
      Par défaut aucune n'est installée.

    * ROM1/K : permet de choisir la ROM d'extension 1 à utiliser.
      Par défaut aucune n'est installée.

    * ROM2/K : permet de choisir la ROM d'extension 2 à utiliser.
      Par défaut aucune n'est installée.

    * ROM3/K : permet de choisir la ROM d'extension 3 à utiliser.
      Par défaut aucune n'est installée.

    * ROM4/K : permet de choisir la ROM d'extension 4 à utiliser.
      Par défaut aucune n'est installée.

    * ROM5/K : permet de choisir la ROM d'extension 5 à utiliser.
      Par défaut aucune n'est installée.

    * ROM6/K : permet de choisir la ROM d'extension 6 à utiliser.
      Par défaut aucune n'est installée.

    * ROM7/K : permet de choisir la ROM d'extension 7 à utiliser. Historiquement
      cet emplacement de ROM est utilisé par la ROM de gestion des lecteurs de
      disquettes (l'AMSDOS). Vous devriez donc toujours y mettre une ROM CP/M ou
      la ROM PARADOS (de Richard Wilson) afin d'éviter des problèmes de
      compatibilité avec certains programmes. Si vous utilisez une ROM 7, alors
      la ROM AMSDOS intégrée sera automatiquement invalidée.
      Par défaut aucune n'est installée.

    * ROM8/K : permet de choisir la ROM d'extension 8 à utiliser.
      Par défaut aucune n'est installée.

    * ROM9/K : permet de choisir la ROM d'extension 9 à utiliser.
      Par défaut aucune n'est installée.

    * ROM10/K : permet de choisir la ROM d'extension 10 à utiliser.
      Par défaut aucune n'est installée.

    * ROM11/K : permet de choisir la ROM d'extension 11 à utiliser.
      Par défaut aucune n'est installée.

    * ROM12/K : permet de choisir la ROM d'extension 12 à utiliser.
      Par défaut aucune n'est installée.

    * ROM13/K : permet de choisir la ROM d'extension 13 à utiliser.
      Par défaut aucune n'est installée.

    * ROM14/K : permet de choisir la ROM d'extension 14 à utiliser.
      Par défaut aucune n'est installée.

    * ROM15/K : permet de choisir la ROM d'extension 15 à utiliser.
      Par défaut aucune n'est installée.

    * A=DRIVEA/K : permet de spécifier le nom d'une image disque à précharger
      dans le lecteur A.

    * B=DRIVEB/K : permet de spécifier le nom d'une image disque à précharger
      dans le lecteur B.

    * TAPE/K : permet de spécifier le nom d'un fichier audio à précharger dans
      le lecteur de cassette.

    * SNA=SNAPSHOT/K : permet de spécifier le nom d'un fichier SNA à précharger
      dans le CPC émulé.

    * CPR=CARTRIDGE/K : permet de spécifier le nom d'une cartouche à précharger
      dans le CPC+ émulé. À noter que spécifier une cartouche à précharger force
      le mode d'émulation CPC+ au démarrage.

    * FILES/K/M : permet de spécifier plusieurs fichiers à précharger dans ACE
      au démarrage. La liste peut contenir des fichiers de tout type, image
      disque, cartouche, fichier audio ou fichier SNA ; ACE les utilisera en
      combiné et en fonction de leur type. Si la liste contient plusieurs
      fichiers d'image disque alors le premier sera chargé dans le lecteur A, le
      second dans le lecteur B et tous les autres seront ignorés. Pour tous les
      autres types de fichiers, seul le premier de chaque type sera utilisé et
      les autres seront ignorés.

    * PLUS=CPC+=AMSTRADPLUS/S : permet d'activer l'émulation CPC+ au démarrage.
      Le CRTC type 3 et le Gate Array version 40489 seront automatiquement
      sélectionnés et les options CRTC et GATEARRAY sont ignorées.

    * CRTC/K/N : permet de choisir le type de CRTC à utiliser au démarrage.
      Vous pouvez changer le type de CRTC à tout moment pendant que ACE tourne.
      À noter que pour le moment seul le CRTC 1 est réellement supporté et que
      les autres CRTC sont juste un mode de compatibilité.
      Par défaut, c'est le CRTC 1 qui sera utilisé.

    * GATEARRAY/K/N : permet de choisir la version de Gate Array à utiliser au
      démarrage (les valeurs possibles sont 40007, 40008 ou 40010). Vous pouvez
      changer la version de Gate Array à tout moment pendant que ACE tourne.
      Par défaut, c'est le Gate Array 40010 (le plus récent) qui sera utilisé.

    * BRAND=MANUFACTURER/K : permet de choisir la marque du CPC à émuler. Toutes
      les marques prévues par Amstrad sont possibles (ISP, Triumph, Saisho,
      Solavox, Awa, Schneider, Orion et Amstrad).
      Par défaut Amstrad sera la marque utilisée, sauf pour les pays
      germanophones où ce sera Schneider.

    * 64K=64KEXPMEMSCHEME/S : active l'émulation d'un CPC équipé d'uniquement
      64Kio de mémoire sur la carte mère (typiquement les CPC464, CPC664 et
      464 plus). Sur ces modèles, c'est la RAM centrale plutôt que la RAM
      d'extension interne qui est commutée lorsque l'on tente d'activer des
      pages mémoire inexistantes.

    * NDI=NODISCINTERFACE/S : désactive complètement l'émulation de l'interface
      disquette. Ceci vous permet d'émuler un CPC464 ou un 464plus de base.
      L'interface disquette peut en outre être activée ou désactivée à tout
      moment via le menu pendant que ACE tourne.

    * EP=EMULATEPRINTER/S : par défaut ACE ne fait rien des données envoyées
      sur le port imprimante du CPC émulé. Activer cette option active la
      capture des données du port vers un fichier (par défaut stocké dans
      PROGDIR:Log/ACE_printer.log). Vous pouvez choisir le nom du fichier à
      utiliser grace à l'option PRINTERFILE.

    * PF=PRINTERFILE/K : permet de choisir le nom du fichier d'impression à
      générer.

    * DB=DIGIBLASTER/S : active l'émulation d'une Digiblaster/Soundplayer
      connectée au CPC. Cette option est désactivée par défaut car comme la
      Digiblaster se connecte sur le port imprimante, cela peut provoquer des
      claquements dans le son lorsque celui-ci est utilisé ou parasité (ce qui
      est souvent le cas dans les démos). La Digiblaster peut en outre être
      activé/désactivé à tout moment via le menu pendant que ACE tourne. Il est
      conseillé de ne l'activer que lorsque vous en avez besoin.

    * LD=LIGHTDEVICE/K : active l'émulation d'un pistolet optique via le
      pointeur de souris. Deux modèles sont gérés, le Magnum Light Phaser
      et le Trojan Light Phazer (spécifique CPC+). Passez un argument
      en utilisant respectivement les valeurs MagnumLightPhaser ou
      TrojanLightPhazer pour les utiliser. Les pistolets optiques peuvent en
      outre être déconnectés ou reconnectée à tout moment via le menu pendant
      que ACE tourne. Il est conseillé de ne les activer que lorsque vous en
      avec besoin.

    * DKB=DKTRONICSBUGS/K : active l'émulation des bugs de commutation mémoire
      des extensions DK'Tronics. Lorsque l'on utilise une DK'Tronics, la ROM
      haute se retrouve sur la plage &4000-&7FFF au lieu de &C000-&FFFF si elle
      est commutée lorsque les pages mémoire &4000-&7FFF et &C000-&FFFF sont
      permutées (mode &C3 du Gate Array) et le masquage par la page I/O ASIC
      des CPC+ n'est pas géré.

    * TAP=TAPEAUTOPLAY/S : active la lecture automatique des cassettes dès leur
      insertion dans le lecteur. Vous n'aurez plus à presser "Lecture" à chaque
      fois. Cette option peut être activée ou désactivée à tout moment via le
      menu pendant que ACE toune.

    * THD=TAPE2HD/S : active la passerelle qui permet d'accéder aux fichiers
      de votre disque dur directement depuis le système d'exploitation du CPC
      via l'interface cassette (par défaut vous aurez accès aux fichiers stockés
      dans PROGDIR:Share/). Le répertoire partagé peut être choisi en utilisant
      l'option TAPE2HDPATH. Cette passerelle peut également être activée et
      désactivée à tout moment via le menu pendant que ACE tourne.

    * TAPE2HDPATH/K : permet de choisir le répertoire partagé entre le CPC
      émulé et la machine hôte via la passerelle disque dur.
      Par défaut "PROGDIR:Share/" est utilisé.

    * AV=AUDIOVOLUME/K/N : choix du volume initial. Le volume peut aussi être
      modifié à tout moment pendant que ACE tourne.
      Par défaut le volume est à 100%.

    * AU=AHIUNIT/K/N : choix de l'unité AHI à utiliser.
      Par défaut ACE utilise l'unité 0.

    * NAF=NOAUDIOFILTER/S : par défaut ACE filtrera les fréquences émises par le
      PSG (Programmable Sound Generator) émulé qui ne sont pas dans le spectre
      auditif (le PSG, aka AY-3-8912, peut en effet émettre des sons jusqu'à
      62,5kHz alors que l'oreille humaine n'entend que jusqu'à 20kHz). De tels
      sons ne sont généralement pas échantillonnables par la carte son de l'hôte
      qui ne fera que reproduire des sons parasites à la place (à cause de ce
      que l'on appelle le problème de recouvrement). Si vous disposez d'une
      carte son professionnelle ou que vous préférez faire confiance au filtre
      du pilote AHI de votre machine, vous pouvez désactiver ce filtre grâce à
      cette option (vivement déconseillé).

    * NS=NOSOUND/S : par défaut ACE tentera de jouer les sons. Cette option
      permet de désactiver le son au lancement. Le son peut en outre être
      activé/désactivé à tout moment via le menu pendant que ACE tourne.

    * FULL=FULLSCREEN/S : commute ACE en mode plein écran dès le démarrage.
      Le mode plein écran peut en outre être activé/désactivé à tout moment via
      le menu pendant que ACE tourne.

    * ID=SCREENMODE/K/N : par défaut ACE clonera l'écran d'Ambient pour ouvrir le
      sien lors du passage en mode plein écran ; c'est généralement le
      comportement que vous souhaiterez. Toutefois, vous pouvez spécifier
      explicitement un identifiant de mode graphique à utiliser. Ceci peut par
      exemple être intéressant si vous disposez d'un mode écran en 50Hz (voire
      en 100Hz) et que vous voulez en faire profiter ACE afin de gagner en
      fluidité (la plupart des démos et des jeux Amstrad sont en 50Hz).

    * NO=NOOVERLAY/S : par défaut ACE tentera d'utiliser l'overlay vidéo.
      Positionner cette option lui demande de ne pas le faire. Généralement
      l'utilisation de l'overlay est toujours préférable car il permet un gain
      en vitesse notable, un mode plein écran, et le respect exact du ratio des
      pixels du CPC. De plus, le mode de rendu logiciel (sans overlay) est pour
      l'heure relativement limité et à utiliser uniquement en dernier recours.
      Le mode overlay peut en outre être activé/désactivé à tout moment via le
      menu pendant que ACE tourne.

    * NW=NOWARN=NOWARNINGS/S : par défaut, ACE affichera des messages
      d'avertissement s'il constate une anomalie dans les images disque ou les
      fichiers SNA qu'il charge. Cette option permet de désactiver ces messages.

    * NSI=NOSNAPSHOTICONS/S : par défaut, ACE sauve les instantanés avec une
      icône (un fichier .info) repésentant ce qui est affiché à l'écran. Cette
      option permet de ne plus sauver ces icônes.

    * NAG=NOANTIALIASEDGRABS/S : par défaut, ACE sauve les captures d'écran en y
      appliquant un lissage pour se rapprocher du rendu du moniteur couleur des
      CPC. Cette option permet de désactiver ce filtre et de sauver les captures
      d'écran sans aucun filtre.

    * OSC=OFFSCREENCOLOR/K/N : lorsque ACE tourne dans une fenêtre ou sur un
      écran qui n'a pas les mêmes proportions que l'écran du CPC, des marges
      sont alors automatiquement ajoutées en haut et en bas ou à droite et à
      gauche afin de compenser et de conserver un affichage non déformé. Cette
      option permet de choisir la couleur à utiliser pour ces marges. La couleur
      doit être spécifiée sous la forme d'un entier 24 bits RVB.
      La valeur par défaut est un gris sombre (0x181820).

    * SLC=SCANLINECOLOR/K/N : lorsque l'overlay est désactivé, le rendu devient
      très consommateur en temps processeur. Vous pouvez alors spécifier une
      valeur de couleur RVB pour cette option, et ACE l'utilisera pour
      remplir les lignes impaires au lieu d'y recopier le contenu des lignes
      paires. Ceci a pour effet d'accélérer l'affichage d'un facteur deux.
      Cette option est sans effet en mode overlay.

    * MS=MAXFRAMESKIP/K/N : indique le nombre maximal de trames que l'émulateur
      est autorisé à sauter en enfilade pour garantir la vitesse d'émulation.
      Bien que déconseillée la plupart du temps, cette option peut être
      intéressante sur les machines peu puissantes afin de conserver une
      émulation du CPC en pleine vitesse.
      La valeur par défaut est de 0 ; le saut de trame est interdit.

    * KJ=KEYJOY/S : permet d'utiliser les touches du clavier à la place de la
      manette 0 ("haut", "bas", "gauche", "droite", "control" (feu 2), "alt de
      gauche" (feu 1), et "majuscule de gauche" (feu 3) sont utilisées). Cette
      option peut en outre être activée/désactivée à tout moment via le menu
      pendant que ACE tourne.

    * WS=WILDSPEED/S : désactive la limitation de l'émulation à la vitesse
      réelle du CPC. Dans ce mode débridé, l'émulateur tourne à la vitesse
      maximale permise par votre ordinateur. Toutefois, la vitesse relative des
      divers périphériques du CPC est respectée et la qualité de l'émulation est
      donc conservée (y compris pour les accès disque). Ce mode débridé peut en
      outre être activé/désactivé à tout moment via le menu pendant que ACE
      tourne.

    * MR=MAXFRAMERATE/K/N : indique le nombre maximal de trames par secondes à
      afficher lorsque la vitesse d'émulation est débridée. Plus elle est
      élevée moins la vitesse débridée sera grande car le rafraichissement
      vidéo est ce qui prend le plus de temps processeur. Notez également
      qu'utiliser ici des valeurs supérieures au rafraissichement de votre
      écran (généralement 60 Hz) est dans tous les cas inutile.
      La valeur par défaut est de 10.
      Sans effet si l'option WILDSPEED n'est pas activée.

    * FD=FASTDRIVES/S : active le mode haute vitesse des lecteurs de disquettes.
      Les accès aux pistes et aux secteurs sont alors instantanés ce qui
      accélère grandement les accès disque. Attention toutefois à utiliser
      cette option avec prudence car elle est incompatible avec certains
      logiciels protégés ou démos. Ce mode haute vitesse peut en outre être
      activé/désactivé à tout moment via le menu pendant que ACE tourne.

    * CKR=CARTRIDGESKEEPEXTROM/S : désactive l'invalidation automatique des ROMs
      d'extension lorsqu'une cartouche CPC+ est insérée. Cette invalidation
      permet d'éviter les problèmes avec les cartouches incompatibles avec la
      présence de ROMs d'extension mais dans certains cas particuliers vous
      pourriez vouloir les conserver malgré tout (par exemple lors de
      l'utilisation de la cartouche système d'origine au lieu de celle émulée
      par ACE).

    * LM=LAUNCHMODE/K : choix du mode de lancement de l'exécutable
      d'ACE. Par défaut ACE demande à l'utilisé ce qu'il préfère faire
      lorsqu'une autre instance d'ACE tourne déjà. Si la valeur SINGLE est
      donnée alors une seule instance est permise et chaque nouvelle tentative
      de lancement mettre l'instance qui tourne déjà en avant plan et y insèrera
      les médias founis en paramètre. Si la valeur MULTIPLE est fournie, alors
      une nouvelle instance d'ACE est lancée à chaque fois.

    * UBC=USERBREAKPOINTCOMMAND/K : choix d'une commande à exécuter à chaque
      fois qu'un point d'arrêt s'active. Le code "%s" peut être utilisé dans
      cette commande pour récupérer le nom du port AREXX de l'instance d'ACE.
      Par défaut aucune commande n'est lancée.

    * DISCSPATH/K : choix du chemin d'accès par défaut aux fichiers image disque
      pour les requêtes lors de l'insertion d'un nouveau disque.
      Par défaut "PROGDIR:Discs/" est utilisé.

    * TAPESPATH/K : choix du chemin d'accès par défaut aux fichiers audio pour
      les requêtes lors de l'insertion d'une nouvelle cassette.
      Par défaut "PROGDIR:Tapes/" est utilisé.

    * CARTRIDGESPATH/K : choix du chemin d'accès par défaut aux fichiers
      cartouches pour les requêtes lors de l'insertion d'une nouvelle cartouche.
      Par défaut "PROGDIR:Cartridges/" est utilisé.

    * SNAPSHOTSPATH/K : choix du chemin d'accès par défaut aux fichiers SNA pour
      les requêtes lors du chargement ou de la sauvegarde.
      Par défaut "PROGDIR:Snapshots/" est utilisé.

    * GRABSPATH/K : choix du chemin où sauver les captures d'écran.
      Par défaut "PROGDIR:Grabs/" est utilisé.

    * D=DEBUG/S : sans effet dans la version publique d'ACE.


ACE · Utilisation

ContentsIndex< BrowseBrowse >




    Utilisation


    Outre la fenêtre principale qui contient l'émulateur lui-même, ACE dispose
    de fenêtres secondaires qui permettent d'observer voire de modifier en temps
    réel le comportement de l'émulation. Parallèlement, ACE offre également une
    passerelle vers le disque dur et une interface AREXX qui exaucera vos rêves
    les plus fous.

     Fenêtre principale               - L'émulateur à proprement parler
     Fenêtre 'À propos du CPC émulé'  - Tout savoir sur lui !

     Éditeur de mémoire               - À l'assaut des pokes et des peeks !
     Éditeur Z80                      - Voir vibrer le coeur du CPC
     Éditeur CRTC                     - Contrôler le balayage vidéo

     Analyseur PSG                    - Du son à la partition musicale
     Analyseur Gate Array             - Le CPC tout en couleurs !
     Informations vidéo               - Surveiller l'écran simulé

     Désassembleur Z80                - Voir tout ça de plus près !

     Préférences de l'écran du CPC    - Clair obscur

     Gestionnaire de points d'arrêt   - Payer son droit de passage

     Passerelle vers le disque dur    - Accéder au monde extérieur !
     Interface AREXX                  - Le pilotage de précision


ACE · Utilisation de la fenêtre principale

ContentsIndex< BrowseBrowse >




    Fenêtre principale


    ACE est relativement simple à utiliser ; il se comporte simplement comme un
    véritable CPC. Toutefois, quelques astuces sont bonnes à savoir.

    Gadgets :

    De part et d'autre de la zone d'affichage de l'écran du CPC se situent deux
    groupes de gadgets.

    Ceux du haut permettent de gérer les disquettes, cassettes et cartouches
    insérées via les différents onglets et de charger ou sauver des instantanés
    (fichiers SNA) ou captures d'écran à l'aide des boutons de droite. Certains
    onglets peuvent être désactivés selon la configuration du CPC (un seul
    lecteur de disquette, CPC ancienne génération, etc..). En outre, une diode
    d'activité ainsi que divers symboles permettent de visualiser simplement
    l'activité des lecteurs ainsi que leur état (face B forcée, mode émulation
    accélérée, etc..).

    En bas, se trouvent des gadgets permettant de choisir l'état du CPC :

        - le réglage du volume,
        - le choix du modèle de CPC (sélectionne automatiquement les CRTC et
          Gate Array correspondants),
        - le choix du type de CRTC,
        - le choix de la version du Gate Array,
        - les différents boutons de contrôle de l'émulateur (vitesse, reprise et
          mise en pause, redémarrage).

    Clavier :

    Le clavier de la machine hôte correspond à quelques détails près au clavier
    CPC. Pour plus de confort, il est grandement conseillé d'utiliser la ROM
    firmware du CPC correspondant à votre type de clavier (ce qui devrait
    normalement être le comportement par défaut puisque ACE choisit la ROM
    firmware en fonction de la langue de votre système) :

        - Firmware_fx.ROM : version française, adaptée pour les claviers
          azerty, de préférence Amiga, Mac ou PC en version belge (les claviers
          PC azerty en version française sont malheureusement différent de tous
          les autres).
        - Firmware_vx.ROM : version anglaise, adaptée pour les claviers qwerty,
          de préférence anglais.
        - Firmware_sx.ROM : version espagnole.
        - Firmware_dx.ROM : version danoise.

    Ceci étant, outre les touches "f0-f9", "." et "ENTER" qui sont accessibles
    via celles du pavé numérique, quelques touches ont une correspondance
    spécifique :

        - DEL est sur "<-" (retour chariot),
        - CLR est sur "suppr",
        - COPY est sur le "alt" de gauche,
        - ESC est sur la touche juste au dessus de la touche "tab".

    De plus, la plupart des claviers modernes ne gèrent pas l'appui simultané
    d'un grand nombre de touches. Si cela ne pose généralement pas de problème,
    c'est parfois très gênant pour certains jeux et plus particulièrement pour
    activer les cheats modes (par exemple, appuyer simultanément sur "E", "D",
    "2", "0" et "9" dans Batman The Movie pour passer au niveau suivant). C'est
    là qu'intervient la touche "alt" de droite. Tant que vous la maintenez
    appuyée, toutes les touches activées restent enfoncées côté CPC. Pour
    reprendre l'exemple précédent, si votre clavier ne gère pas l'appui de 5
    touches simultanées, maintenez simplement le "alt" de droite enfoncé, puis
    appuyez consécutivement sur les touches "E", "D", "2", "0" et "9" ; plus
    besoin de les garder enfoncées ! Elles seront bien sûr toutes relâchées en
    même temps que le "alt" de droite.

    En complément de tout ceci, les touches additionnelles des claviers modernes
    sont également exploitées :

        - Début a le même effet que "control" + "gauche" (début de ligne sur
          CPC),
        - Fin a le même effet que "control" + "droite" (fin de ligne sur CPC),
        - Page précédente a le même effet que "control" + "haut" (début de
          paragraphe en BASIC, page précédente sous Protext, etc.),
        - Page suivante a le même effet que "control" + "bas" (fin de
          paragraphe en BASIC, page suivante sous Protext, etc.),
        - - du pavé numérique met l'émulateur en pause,
        - + du pavé numérique relance l'émulateur,
        - * du pavé numérique affiche/masque les contrôles,
        - / du pavé numérique active/désactive le mode plein écran,
        - F1 insère une disquette dans le lecteur A,
        - F2 insère une disquette dans le lecteur B,
        - F3 insère une cassette,
        - F4 insère une cartouche (CPC+ seulement),
        - Majuscule + F1 éjecte la disquette du lecteur A,
        - Majuscule + F2 éjecte la disquette du lecteur B,
        - Majuscule + F3 éjecte la cassette,
        - Majuscule + F4 éjecte la cartouche insérée (CPC+ seulement),
        - F9 charge un fichier SNA,
        - F10 sauve un fichier SNA,
        - F11 sauve une capture d'écran,
        - F12 a le même effet que la touche "enter" du pavé numérique (utile
          dans le cas où votre pavé numérique n'en aurait pas, comme sur
          PowerBook G4 par exemple).

    Les autres raccourcis clavier correspondent simplement à ceux du menu.

    Manettes de jeu :

    Les deux manettes de jeu sont émulées, y compris les trois boutons (oui, il y
    a bien trois boutons feu câblés sur CPC !).

    La manette 0 du CPC correspond à celle connectée sur le port 1 (joy port) de
    la machine hôte, tandis que la manette 1 correspond à celle connectée sur le
    port 0 (mouse port).

    Lorsque l'option "Manette de jeu 0 sur le clavier" est activée, elle permet
    d'utiliser les touches "haut", "bas", "gauche", "droite", "control" (feu 2),
    "alt" de gauche (feu 1), et "majuscule" de gauche (feu 3) à la place de la
    manette.

    Souris :

    Le bouton du milieu permet d'afficher/masquer les contrôles et un
    double-clic dans la fenêtre principale commutera le mode plein écran.

    De plus, si vous avez configuré l'utilisation d'un pistolet optique le
    pointeur de souris se transforme alors en cible et le clic fait office de
    gachette.

    À noter que le pointeur de souris est automatiquement masqué en plein écran
    lorsqu'il ne bouge plus (excepté lorsque l'émulation d'un pistolet optique
    est activée).


ACE · Utilisation de la fenêtre 'À propos du CPC émulé'

ContentsIndex< BrowseBrowse >




    Fenêtre "À propos du CPC émulé"


    Cette fenêtre donne diverses informations à propos du CPC que ACE est en
    train d'émuler en fonction de vos réglages.

    En complément une image représentant le modèle émulé sera affichée.

    Ordinateur

    Rien de plus simple ici, la marque, le modèle et la langue du CPC sont
    indiqués.

    Périphériques

    Ici, l'état des divers périphériques disquette, cassette et cartouche sont
    indiqués.

    Les interfaces disquette et cassette peuvent être absentes, internes ou
    externes selon le modèle du CPC tandis que le port cartouche ne sera bien sûr
    disponible que sur CPC+.

    Note : l'état de l'interface cassette sera noté en italique si la passerelle
    de la cassette vers le disque dur est activée.

    Système

    La version du firmware, la ROM disque intégrée utilisée et la quantité
    totale de mémoire disponible sont affichée dans cette section.

    Note : le type de la ROM disque intégrée sera noté en italique si elle est
    surchargée par une ROM 7 externe.


ACE · Utilisation de l'éditeur de mémoire

ContentsIndex< BrowseBrowse >




    Éditeur de mémoire


    Comme son nom l'indique judicieusement, cette fenêtre permet d'éditer la
    mémoire du CPC.

    Rafraîchissement

    Pour des raisons évidentes, les informations contenues dans cette fenêtre
    ne sont pas remises à jour en temps réel (les valeurs changeraient tout le
    temps et seraient totalement inexploitables !).

    Le contenu de la fenêtre est toutefois rafraîchi automatiquement lorsque
    l'émulateur entre en pause (soit manuellement soit à cause d'un point
    d'arrêt), ou manuellement à tout instant en appuyant sur le bouton
    "Rafraîchir la vue".

    Configuration

    En plus de ce bouton, il y a un bouton "Rafraîchir les commutations" qui
    permet de resynchroniser la configuration mémoire (commutation des pages de
    RAM et de ROM) de l'éditeur avec celle en cours dans le CPC émulé. La case
    "Suivre les commutations de l'émulateur" permet quant à elle de toujours
    faire coller l'éditeur à la configuration mémoire du CPC émulé.

    Viennent ensuite les gadgets de sélection de la configuration mémoire de
    l'éditeur (attention, ceux-ci n'ont bien entendu aucune influence sur l'état
    des commutations mémoire dans le CPC émulé). À noter que certains de ces
    réglages ne sont actifs qu'en émulation CPC+.

    Contenu

    La partie principale de la fenêtre permet donc de visualiser l'état de la
    mémoire (selon les commutations sélectionnées) tout à la fois en hexadécimal
    et en ASCII. Cet ASCII représentera le code ASCII dans la page de code du
    CPC (sélectionnée via le menu "Fenêtre" -> "Convertir l'ASCIIdu CPC en...").

    L'adresse à afficher peut être choisie manuellement ou positionnée en
    fonction du contenu du registre du Z80 de son choix.

    Tout en bas de la fenêtre un petit indicateur vous précise la position
    courante du curseur que vous pouvez déplacer librement dans la zone
    d'édition. Le bouton "Désassembler..." vous permet quant à lui d'ouvrir la
    fenêtre du désassembleur à cette même adresse.

    Note : les zones mémoire en lecture seule sont visualisées par une
    adresse indiquée entre parenthèses dans l'éditeur de mémoire et ne peuvent
    évidemment pas être modifiées.


ACE · Utilisation de l'éditeur Z80

ContentsIndex< BrowseBrowse >




    Éditeur Z80


    Cet éditeur permet simplement de visualiser et de modifier à tout moment
    l'état du Z80 du CPC émulé.

    Rafraîchissement

    Les informations contenues dans cette fenêtre sont rafraîchies en temps
    réel et sont toujours valides.

    Contenu

    Pour le reste, le contenu de la fenêtre est assez explicite pour toute
    personne connaissant le Z80.

    Tous les registres du Z80 peuvent être édités et des informations
    complémtentaires sont également affichées (telles l'état des interruption
    ou les flags correspondants au registre F).

    À noter qu'un extrait du code désassemblé depuis l'adresse de PC est
    visualisé. Vous pouvez vous en servir pour surveiller ou positionner les
    points d'arrêt en exécution de la même manière que dans les fenêtres du
    désassembleur ou de gestion de points d'arrêt (uniquement lorsque la
    gestion des points d'arrêt est activée).

    Des compteurs de trames, de lignes et de microsecondes sont également
    disponibles et peuvent être remis à zéro à tout moment afin de mesurer
    aisément le temps pris par une routine par exemple.

    En bas de la fenêtre des contrôles similaires à ceux de la fenêtre
    principale, mais avec plus d'options, sont disponibles.


ACE · Utilisation de l'éditeur CRTC

ContentsIndex< BrowseBrowse >




    Éditeur CRTC


    Cet éditeur permet simplement de visualiser et de modifier à tout moment
    l'état du CRTC du CPC émulé.

    Rafraîchissement

    Les informations contenues dans cette fenêtre sont rafraîchies en temps
    réel et sont toujours valides.

    Contenu

    Pour le reste, le contenu de la fenêtre est assez explicite pour toute
    personne connaissant le CRTC, et les infos bulles présentes à tous les
    niveaux vous permettront de vous y retrouver aisément.


ACE · Utilisation de l'analyseur PSG

ContentsIndex< BrowseBrowse >




    Analyseur PSG


    Cette fenêtre permet simplement de visualiser l'état du PSG du CPC émulé.

    Rafraîchissement

    Les informations contenues dans cette fenêtre sont rafraîchies en temps
    réel et sont toujours valides.

    Contenu

    Les informations fournies dans cette fenêtre sont nombreuses et riches ; les
    infos bulles présentes à tous les niveaux vous permettront de bien tout
    comprendre.


ACE · Utilisation de l'analyseur Gate Array

ContentsIndex< BrowseBrowse >




    Analyseur Gate Array


    Cette fenêtre permet simplement de visualiser l'état du Gate Array du CPC
    émulé.

    Rafraîchissement

    Les informations contenues dans cette fenêtre sont rafraîchies en temps
    réel et sont toujours valides.

    Contenu

    Pour le reste, le contenu de la fenêtre est assez explicite pour toute
    personne connaissant le Gate Array, et les infos bulles présentes à tous les
    niveaux vous permettront de vous y retrouver aisément.


ACE · Utilisation des informations vidéo

ContentsIndex< BrowseBrowse >




    Informations vidéo


    Cette fenêtre permet simplement de visualiser l'état du balayage vidéo du
    CPC émulé.

    Rafraîchissement

    Les informations contenues dans cette fenêtre sont rafraîchies en temps
    réel et sont toujours valides.

    Contenu

    Pour le reste, le contenu de la fenêtre est assez explicite et les infos
    bulles présentes à tous les niveaux vous permettront de vous y retrouver
    aisément.


ACE · Utilisation du désassembleur

ContentsIndex< BrowseBrowse >




    Désassembleur


    Cette fenêtre permet de désassembler n'importe quelle zone mémoire du CPC
    émulé.

    Rafraîchissement

    Pour des raisons évidentes, les informations contenues dans cette fenêtre
    ne sont pas remises à jour en temps réel (les valeurs changeraient tout le
    temps et seraient totalement inexploitables !).

    Le contenu de la fenêtre est toutefois rafraîchi automatiquement lorsque
    l'émulateur entre en pause (soit manuellement soit à cause d'un point
    d'arrêt), ou manuellement à tout instant en appuyant sur le bouton
    "Rafraîchir le code désassemblé".

    Configuration

    En plus de ce bouton, il y a un bouton "Rafraîchir les commutations" qui
    permet de resynchroniser la configuration mémoire (commutation des pages de
    RAM et de ROM) de l'éditeur avec celle en cours dans le CPC émulé. La case
    "Suivre les commutations de l'émulateur" permet quant à elle de toujours
    faire coller l'éditeur à la configuration mémoire du CPC émulé.

    Viennent ensuite les gadgets de sélection de la configuration mémoire de
    l'éditeur (attention, ceux-ci n'ont bien entendu aucune influence sur l'état
    des commutations mémoire dans le CPC émulé). À noter que certains de ces
    réglages ne sont actifs qu'en émulation CPC+.

    Contenu

    La zone principale vous permet donc de voir le code désassemblé. L'adresse
    d'origine peut être positionnée manuellement ou bien réglée à partir de la
    valeur courante du registre PC. Il est également possible de bloquer la
    fenêtre sur l'état de PC en continu (dans ce cas il ne sera bien sûr plus
    possible de naviguer librement dans la mémoire).

    Faites bien attention au fait que les opcodes du Z80 ne sont pas de taille
    constante ; selon l'instruction cela peut varier de un à quatre octets.
    L'adresse d'origine a donc une grande importance car si vous la positionnez
    à une adresse qui couperait une instruction en deux, le code que vous
    visualiserez ne sera pas correct pour les deux ou trois instructions
    suivantes.

    Pour le reste, ce désassembleur offre des fonctions de navigation très
    élaborées.

    Une barre d'adresses mémorisées vous permet de conserver les adresses que
    vous désirez afin de pouvoir les repositionner en origine à tout moment en
    cliquant sur un bouton. Un bouton d'adresse mémorisée se reconfigure en
    l'activant (via les petits poussoirs sous la barre des boutons) puis en
    cliquant sur une adresse sur la colonne de gauche dans la partie qui affiche
    le code désassemblé.

    Pour pouvez également positionner des points d'arrêt en exécution
    directement en utilisant les cases à cocher tandis que les petites diodes
    à côté vous informent sur leur état d'activation de façon plus directe
    qu'en utilisant la fenêtre des points d'arrêt (uniquement lorsque la
    gestion des points d'arrêt est activée).

    Enfin, la colonne tout à droite affiche des boutons de saut direct à des
    adresse lorsque des instructions de branchement (JP, JR, CALL, etc..) ont
    été détectées.

    Tout en bas de la fenêtre est rappelée l'adresse courante (elle correspond
    à la première adresse désassemblée de la fenêtre) ainsi qu'un bouton
    "Éditer..." qui vous permet d'ouvrir l'éditeur de mémoire avec le curseur
    directement positionné à cette adresse.


ACE · Préférences de l'écran du CPC

ContentsIndex< BrowseBrowse >




    Préférences de l'écran du CPC


    Cette fenêtre permet de choisir le type d'écran à émuler ainsi que d'en
    régler les paramètres comme vous le feriez avec le vériable écran de votre
    CPC. Contrairement aux autres fenêtres secondaires elle n'est pas accessible
    par le menu des fenêtres mais par celui des préférences.


ACE · Utilisation du gestionnaire de points d'arrêt

ContentsIndex< BrowseBrowse >




    Gestionnaire de points d'arrêt


    Cette fenêtre permet d'éditer tous les types de points d'arrêt configurables
    gérés par ACE. Contrairement aux autres fenêtres secondaires elle n'est pas
    accessible par le menu des fenêtres mais par celui du traçage ou à l'aide
    du bouton "Plus..." dans la barre des points d'arrêt de la fenêtre Z80.

    Elle n'est en outre accessible que lorsque la fonctionnalité des points
    d'arrêt est activée dans ce même menu (ou grâce au raccourci dans la fenêtre
    Z80).

    Elle dispose de trois pages décrivant les trois types de points d'arrêt
    configurables possibles.

    Points d'arrêt en exécution

    Cette page permet de visualiser, d'ajouter, de modifier et d'effacer les
    points d'arrêt en exécution. Il s'agit des adresses sur lesquelles
    l'émulation se mettra automatiquement en pause si le Z80 tente d'y exécuter
    une instruction.

    La condition permet optionnellement de décrire une expression qui doit être
    vraie pour que le point d'arrêt soit valide (plus de détails dans l'info-
    bulle associée).

    Le mode permet de choisir s'il s'agit véritablement d'un point d'arrêt ou
    simplement d'un observateur. Dans le cadre d'un observateur l'exécution ne
    s'arrête pas mais le compteur d'occurrences du point d'arrêt est mis à jour.

    Le pas permet de choisir la fréquence d'occurrence du point d'arrêt. Un pas
    à zéro décrit un point d'arrêt systématique, un par à 1 décrit un point
    d'arrêt qui sera valide une fois sur deux, et ainsi de suite.

    Le nom permet de nommer un point d'arrêt afin de pouvoir plus facilement s'y
    retrouver lorsqu'il y a un grand nombre de points d'arrêt positionnés mais
    aussi pour l'utiliser depuis des scripts afin de ne pas dépendre d'adresses
    en dur.

    Ce type de point d'arrêt peut également être positionné directement depuis
    la fenêtre du désassembleur ou celle de l'éditeur Z80.

    Points d'arrêt en mémoire

    Cette page permet de visualiser, d'ajouter, de modifier et d'effacer les
    points d'arrêt en mémoire. Il s'agit des adresses sur lesquelles l'émulation
    se mettra automatiquement en pause si le Z80 y a lu ou écrit une valeur.

    Le masque sur l'adresse permet de filtrer les bits à tester. Par exemple un
    masque à &FF00 pour une adresse à &9D00 provoquera un arrêt pour toutes les
    adresses &9Dxx.

    La valeur permet de provoquer l'arrêt sur une valeur précise, avec également
    un masque sur la valeur. Par défaut le masque est à zéro ce qui signifie que
    la valeur sera quelconque (aucun bit à tester).

    Les autres paramètres sont identiques à ceux des points d'arrêt en execution.

    Points d'arrêt sur un port entrée/sortie

    Cette page est similaire à celle sur les points d'arrêt en mémoire mais
    concerne la lecture et l'écriture d'une valeur sur une adresse de port
    entrée/sortie donnée.


    Note 1 : dans chacune de ces pages, double-cliquer sur un point d'arrêt dans
    la liste permet d'en remettre le compteur d'occurrence à zéro.

    Note 2 : le nombre maximum de points d'arrêt par type est de 64. Une fois 64
    points d'arrêt d'un type donné positionnés, vous ne pourrez plus en ajouter
    de nouveaux.


ACE · Scripts & outils

ContentsIndex< BrowseBrowse >




    Scripts & outils


    ACE vient avec un jeu d'outils pour le moment basiques mais qui évolueront
    rapidement au fur et à mesure des versions.

    La plupart de ces outils sont basés sur l'interface AREXX. Si vous êtes
    amené à créer vos propres scripts REXX ou Lua, n'hésitez pas à me les
    soumettre pour les distribuer avec les prochaines versions d'ACE.

    Scripts REXX :

    JoyFury.rexx vous permettra de gagner facilement dans tous les jeux qui
    demandent d'agiter violemment sa manette de gauche à droite pour avancer
    (typiquement les jeux de sport). Il prend pour paramètre la période
    d'oscillation désirée (la valeur par défaut est de 20000 micro-secondes).

    ACE.AmIRx est petit script REXX totalement inutile pouvant être installé
    dans le répertoire "Rexx/" de AmIRC. Une fois en place, il pourra être
    invoqué via le menu "ARexx" de AmIRC (ou en tapant "/rx ACE") afin d'envoyer
    des informations sur votre usage en cours d'ACE sur le canal IRC courant. Il
    peut également être lancé de façon autonome, mais utilisera alors la
    première instance de AmIRC qui tourne pour envoyer ses messages.

    CrossDevExample.rexx est un exemple de script plus complexe qui montre
    comment l'on peut utiliser ACE pour faire du développement (en l'occurrence
    en générant un petit effet de demo classique). Il accomplit plusieurs choses
    intéressantes à cet effet :
      * il redémarre le ACE,
      * il fait faire un MEMORY adapté à ACE,
      * il met ACE en pause,
      * il calcule des tables en les stockant directement dans ACE,
      * il assemble un code source en utilisant Pasmo (assembleur Z80),
      * il charge le binaire ainsi assemblé dans ACE,
      * il relance ACE,
      * il fait faire un CALL à ACE pour lancer le programme.

    Ce script est simplement une adaptation d'un programme disponible sur le
    Quasar Net : http://quasar.cpcscene.net/doku.php?id=coding:aurore_boreale.
    Le programme de génération en BASIC a été converti en REXX (trivial) et le
    code assembleur très légèrement modifié pour fonctionner avec Pasmo.

    On pourrait le perfectionner en passant en paramètre à Pasmo les valeurs des
    EQU issus du calculateur de table en REXX plutôt que de les avoir en dur
    dans le source assembleur.

    À noter que pour fonctionner ce script nécessite :
      * la rexxmathlib.library de Thomas Richter,
      * Pasmo de Julián Albo (qui doit simplement être dans le "Path").


ACE · Foire aux questions

ContentsIndex< BrowseBrowse >




    Foire aux questions


    ACE gère 256 ROMs... mais je ne vois que 16 paramètres de ROMs !?

    Les arguments ne permettent effectivement que de spécifier les 16 premières
    ROMs d'extension. Si vous avez vraiment besoin de configurer des ROMs au
    delà, vous pouvez le faire en utilisant la commande "FLASHROM" du port
    AREXX. Mais dans tous les cas, gardez bien en mémoire que le firmware ne
    gère que les 16 premières ROMs d'extension de second plan.

    16 ROMs est sans doute suffisant dans la majorité des cas.

    Pourquoi est-ce que ACE ne gère que 512Kio de mémoire étendue ?

    Cette limite est la limite standard prévue par Amstrad lors de la conception
    du CPC. Le seul moyen d'utiliser plus de mémoire est de passer par des
    extensions spécifiques (comme la Memcard 2Mio de RAM7).

    Vu le peu de support de ce type de d'extension mémoire, je ne pense pas que
    les émuler soit vraiment utile.

    Qu'en est-il de la qualité de l'émulation CRTC pour les démos ?

    À vrai dire, il n'y a pour l'heure que le CRTC 1 qui est totalement émulé.
    Vous devriez toujours le choisir en priorité et n'en changer que lorsqu'une
    démo est connue pour ne pas fonctionner sur CRTC 1. Dans les prochaines
    versions d'ACE une des priorité sera de mettre l'émulation du CRTC 0 au
    même niveau de précision que celle du CRTC 1. Le CRTC 2 est plus secondaire
    et sera traité plus tard.

    Bien sûr, le CRTC 3 reste obligatoire pour pouvoir utiliser l'émulation
    CPC+ et est déjà à un niveau correct.

    J'ai très souvent des messages d'avertissement lors de l'ouverture des DSK !

    Soyons clair, le format DSK est vraiment horrible et les outils permettant
    de créer des DSK à partir des disquettes physiques le sont souvent tout
    autant. En pratique, les informations contenues dans les DSK sont
    insuffisantes (lorsqu'elles ne sont pas complètement fausses) pour permettre
    une émulation vraiment fidèle du FDC et du lecteur de disquettes.

    Un mécanisme perfectionné de "réparation" à la volée des DSK a été mis en
    place dans ACE afin de reconstruire ces informations ; les messages
    d'avertissements correspondent généralement à la mise en oeuvre de ces
    correctifs. Vous pouvez désactiver les messages avec l'option "NOWARNINGS"
    ou l'entrée "Afficher les messages d'avertissement" dans le menu
    "Préférences" (les correctifs continueront d'être appliqués vu qu'ils sont
    indispensables à l'émulation du FDC et du lecteur de disquettes d'ACE).

    Dans une prochaine version ACE proposera un nouveau format d'images disque
    plus approprié à une émulation rigoureuse du FDC et du lecteur de
    disquettes. L'import et l'export des fichiers DSK restera possible mais ça
    ne sera définitivement plus le format natif vu les complications et les
    limitations qu'il entraine pour l'émulation FDC.

    Pourquoi un fichier DSK inséré dans ACE n'est pas modifié lorsque j'écris 
    dedans depuis ACE ?

    En fait, il est modifié, mais pas en temps réel.

    ACE ne manipule pas directement les fichiers DSK. Ils sont chargés et
    convertis dans le format d'une mémoire cache interne. Lorsque vous
    manipulez cette image disque, seul le cache est modifié. Le fichier DSK ne
    sera effectivement modifié (mis à jour avec le contenu du cache interne) que
    lorsqu'il sera éjecté d'ACE ou lorsque vous quitterez ACE (que ce soit
    manuellement ou suite à un redémarrage système).

    De plus, ACE tente de conserver le format d'origine lorsqu'il met à jour le
    fichier en fonction du cache interne. Si le DSK originel était standard, ACE
    sauvera un DSK standard, si c'était un DSK étendu, il sauvera un DSK étendu.
    Si les modifications apportées à l'image disque ne permettent plus de la
    stocker sous la forme d'un DSK standard, ACE vous demandera si vous désirez
    la sauver sous forme d'un DSK étendu à la place.

    Quelle est la différence entre les actions "Réinitialiser" et "Redémarrer" ?

    Réinitialiser simule simplement un "reset hard" du CPC. C'est-à-dire que
    tous les chipsets ainsi que le processeur sont réinitialisés mais que la
    mémoire n'est pas affectée. Il s'agit en fait exactement du même
    comportement que celui que vous auriez sur un CPC équipé d'un bouton d'un
    reset hard (comme celui présent sur la Multiface Two ou le Hacker).

    Redémarrer va en revanche tout réinitialiser y compris la mémoire comme si
    le CPC venait d'être mis sous tension.

    Par défaut ACE émule un CPC6128, comment le configurer pour émuler un autre
    modèle ?

    Configuration des ROMs :

    La principale différence entre les modèles de CPC est liée à la version des
    ROMs firmware et BASIC installées. Les CPC6128 utilisent la version 3 du
    firmware tandis que les CPC664 utilisent la version 2 et les CPC464 la
    version 1. Les CPC+ utilisent quant à eux une ROM firmware en version 4
    avec la ROM BASIC 1.40.

    Vous devrez en outre faire attention à la ROM BASIC que vous installez.

    - le BASIC 1.00 convient à la ROM firmware version 1,
    - le BASIC 1.10 convient à la ROM firwmare version 2,
    - les BASIC 1.2x et 1.40 conviennent aux ROM firmware version 3 ou 4.

    Configuration de la mémoire :

    Une autre différence entre les modèles de CPC concerne la mémoire. Les
    CPC6128 et 6128+ ont 64Kio de mémoire d'extension intégrés sur la carte
    mère tandis que les CPC464/664 et 464+ n'en ont pas.

    Il est toutefois possible d'augmenter la mémoire de tous les CPC avec
    des extensions mémoire externes mais le fait d'avoir ou non 64Kio de
    mémoire d'extension déjà intégrés à la carte mère apporte quelques
    différences de comportement.

    Si vous désirez retrouver le comportement d'un CPC464/664 ou 464+ disposant
    d'extension mémoire, il faudra activer le type d'outil 64KEXPMEMSCHEME. De
    plus, si vous voulez que la mémoire étendue se comporte comme celle d'une
    DK'Tronics, il faudra aussi activer le type d'outil DKTRONICSBUGS.

    Pour le reste, libre à vous d'installer la quantité de mémoire que vous
    désirez.

    Configuration des lecteurs :

    Si vous désirez émuler un CPC464 ou un 464plus de base, vous pouvez
    désactiver l'interface disquette à l'aide du menu ou du type d'outil
    NODISCINTERFACE.

    Si vous désirez émuler un système avec un seul lecteur de disquette
    vous pouvez désactiver le lecteur B au travers du menu.

    Comment faire pour avoir un affichage fluide en 50Hz ?

    Les jeux et démos CPC tournent en 50Hz. Pour avoir un affichage parfaitement
    fluide comme sur un véritable CPC, vous devez donc avoir une fréquence de
    balayage parfaitement égale (ou multiple) sur votre système.

    Vous n'aurez généralement pas de mode graphique en 50Hz disponible par
    défaut. Toutefois, vous pouvez créer très facilement de nouveaux modes
    graphiques à l'aide des préférences de MorphOS (faites juste attention à
    créer un écran en 16, 24 ou 32 bits).

    Sous réserve que votre moniteur le supporte (au besoin éditez ses
    caractéristiques par défaut pour tester), créez alors un mode graphique dont
    la fréquence verticale est très exactement de 50,0801Hz. Récupérérez ensuite
    l'identifiant de ce mode graphique et positionnez le type d'outil SCREENMODE
    à cette valeur (par exemple SCREENMODE=0x40920058).

    Lorque vous passerez en plein écran vous pourrez alors profiter de
    scrollings parfaitement fluides comme sur un véritable CPC !

    Malheureusement, beaucoup de jeux et démos ne respectent pas la fréquence
    de balayage nominale de 50,0801Hz... et ceux-ci ne seront pas fluides...
    Il n'y a pas vraiment de solution, sinon celle de relever la fréquence de
    balayage requise par le programme (à l'aide de la fenêtre des informations
    vidéo) et de créer un mode écran adéquat.


ACE · Bugs connus

ContentsIndex< BrowseBrowse >




    Bugs connus


    * Écrire sur des secteurs non fiables (les "weak-sectors" des DSK) ne mettra
      effectivement à jour que la première version du secteur. Ceci est un
      héritage bien malheureux de la médiocrité du format DSK et sera corrigé
      lorsque le nouveau format (basé sur un modèle physique) sera en place.

    * Le mode plein écran ne fonctionne pas comme attendu lorsque l'overlay
      n'est pas activé. Le mode "non overlay" n'est pas très intéressant aussi
      bien pour ses performances que pour sa qualité graphique, peu d'effort a
      été fourni pour son implémentation. Utilisez l'overlay.

    * La qualité de la sortie audio est dégradée lorsque la vitesse d'émulation
      est débridée.

    * Le son peut éventuellement sauter lorsque l'on manipule les fenêtres ou
      qu'une application qui prend du temps processeur tourne en tâche de fond.
      ACE n'utilise pour le moment que le mode "device" d'AHI, celui-ci ne
      garantit pas l'accès temps réel au son ; un mode "library", plus précis,
      sera sans doute implémenté ultérieurement.

    * Sur PowerBook G4 il y a un problème avec les touches flêchées
      lorsqu'elles sont manipulées intensivement ; certaines touches fantôme
      se retrouvent bloquées pressées. Vous pouvez bien sûr utiliser RALT pour
      les débloquer (une pression sur RALT relâche toutes les touches) mais ça
      n'est pas très pratique lorsque ce problème survient pendant un jeu. Le
      mieux est d'utiliser un clavier externe en USB (ou une manette de jeu)
      pour jouer sur PowerBook G4 plutôt que le clavier intégré.


ACE · À venir

ContentsIndex< BrowseBrowse >




    À venir


    Houlala ! Des tas de choses sont prévues !

    * support complet des CRTC 0, 2, 3 et 4.
    * support du format HFE2 et/ou IPF en natif et réécriture de l'émulation du
      lecteur de disquettes et du FDC en conséquence (le format DSK ne sera plus
      supporté qu'en import ou en export),
    * possibilité de faire des captures de vidéo ou de son,
    * possibilité d'utiliser des fichiers de symboles externes pour
      décoder les adresses et les paramètres dans les fenêtres affichant du
      code désassemblé,
    * ajout d'une fenêtre de représentation graphique du plan de
      commutation de la mémoire,
    * extension des commandes AREXX disponibles et création de petits d'outils
      annexes (sans doute en Lua) qui utilisent le port AREXX,
    * ajout d'un système de reconfiguration dynamique du type de clavier géré
      par la ROM firmware installée afin de ne pas être limité à ceux existants
      sur CPC,
    * ajout du support du VirtualNet96,
    * option de rendu en OpenGL,
    * ajout d'un filtre graphique simulant le rendu réel d'un moniteur à tube
      cathodique,
    * option d'utilisation de AHI en mode "library" au lieu de "device",
    * implémentation d'un mode "retour en arrière",
    * et bien d'autres choses encore...


ACE · Historique

ContentsIndex< BrowseBrowse >




    Historique


    * Version 1.8 (19/11/2014) :
      - Ajout d'une vérification du mode écran pour empêcher ACE d'être lancé
        sur un écran incompatible (8 bits),
      - Ajout du support du glisser-déposer sur la fenêtre principale et
        l'appicon pour les fichiers disque, cassette, cartouche et instantanés.
      - Re-introduction du saut de trame automatique expérimental et du type
        d'outil MS=MAXFRAMESKIP (désactivé par défaut),
      - Ajout de la capture d'écran et de la commande AREXX GRAB associée,
      - Ajout de la touche de raccourci F11 pour faire des capture d'écran,
      - Ajout de nouveau du support de nouveaux mode de pixels et modification
        de la gestion des buffers d'affichage en vue du support de nouveaux
        rendus ultérieurement,
      - Ajout de l'alias NW pour le type d'outil NW=NOWARN=NOWARNINGS,
      - Ajout de la sauvegarde d'une icône avec une miniature de la capture
        d'écran lors de l'enregistrement d'instantanés (peut être désacité
        via le type d'outil NSI=NOSNAPSHOTICONS ou le menu des préférences),
      - Améliorations mineures dans la fenêtre d'informations sur le type de CPC
        émulé,
      - Correction de la mise à jour de certains événements internes,
      - Correction d'une corruption mémoire potentielle lors d'un double
        lancement,
      - Ajout d'un type d'outil NAG=NOANTIALIASEDGRABS pour sauver des captures
        d'écran sans y appliquer aucun filtre (également disponible depuis le
        menu des préférences),
      - Changement du système de version du catalog qui est maintenant dissocié
        du numéro de version d'ACE et qui ne changement plus avant une version
        majeure ; de cette manière les traducteurs pourront facilement fournir
        des traductions alternatives qui resteront compatibles avec les
        prochaines version d'ACE (seuls les nouveaux textes ne seront pas
        traduits mais tous les autres continueront de fonctionner),
      - Correction d'un problème de centrage dans le calcul de rendu de
        l'échantillon audio qui avait été introduit avec le support de la
        cassette,
      - Ajout automatique de l'extension ".sna" aux noms de fichiers en étant
        dépourvus lors de la sauvegarde des instantanés via les requêtes de
        fichier de l'interface graphique,
      - Ajustement de quelques options de compilation afin de pouvoir supprimer
        quelques casts surabondants et perturbants dans le code en vue de
        faciliter le portage sur AmigaOS 4.1.

    * Version 1.7 (15/06/2014) :
      - Ajout de l'émulation cassette au travers de fichiers audio (en lecture
        seule pour le moment),
      - Ajout d'un type d'outil TAPESPATH pour choisir le chemin par defaut des
        fichiers audio cassette,
      - Ajout de la ROM firmware française pour les CPC464.
      - Remplacement de la ROM CP/M 0.7 qui était mauvaise dans les
        distributions précédentes,
      - Ajout d'un type d'outil OS=OSVERSION pour choisir la version du système
        d'exploitation à utiliser (de 1 à 4). N'importe quelle version du
        système d'exploitation est compatible avec n'importe quel modèle de
        CPC; même la version 4 qui était utilisé sur les CPC+ est compatible
        avec les CPC ancienne génération. Par défaut, c'est la version 3 qui est
        utilisée car la grande majorité des logiciels sont pensés pour tourner
        avec cette version,
      - Ajout d'un type d'outil NDI=NODISCINTERFACE pour désactiver complètement
        l'interface disquette afin de pouvoir émuler un CPC464 ou 464plus de
        base,
      - Remaniement du menu des préférences pour les rendre plus facile à
        utiliser par rapport aux nouvelles options disponibles,
      - Ajout de la désactivation du Trojan Light Phazer lorsque l'on passe
        de l'émulation CPC+ à l'émulation CPC (le Trojan Light Phazer n'est
        disponible que pour CPC+),
      - Correction d'un bug qui rendait la ROM firmware inopérante pour les
        accès cassette lorsque la passerelle vers le disque dur était désactivée
        à la volée,
      - Ajout d'un type d'outil TAPE pour spécifier une cassette à insérer au
        démarrage,
      - Ajout d'un type d'outil TAP=TAPEAUTOPLAY pour activer automatiquement la
        lecture lorsqu'une cassette est insérée,
      - Déplacement de toutes les ROMs système utilisées par défaut dans un
        tiroir "System" plutôt que "ROMs" (ce dernier est supposé être utilisé
        pour les ROMs d'extension de l'utilisateur),
      - Correction d'un petut bug graphique dans la fenêtre du désassembleur,
      - Ajout de commandes AREXX relatives à la gestion cassette,
      - Correction d'un bug dans la gestion des événements qui faisait que les
        onglets de gestion des périphériques avaient la priorité sur l'émulateur
        pour certaines touches de raccourcis,
      - Changement de certains raccourcis claviers,
      - Ajout d'un type d'outil CPM=AMSDOS pour configurer la ROM 7 disque
        interne (ceci est différent du type d'outil ROM7 qui représente une ROM
        7 externe),
      - Correction d'une mauvaise référence de noeud d'aide dans la fenêtre des
        préférences de l'écran,
      - Amstrad est désormais la seule marque possible lorsque l'on est en
        émulation CPC+,
      - Ajout d'une fenêtre d'information avec image à propos du modèle de CPC
        actuellement émulé,
      - Ajout d'icônes pour le tiroir principal d'ACE ainsi que pour ceux pour
        les disquettes, les cassettes, les cartouches, les instantanés et les
        ROMs,
      - Ajout d'icônes dans les onglets des périphériques,
      - Ajout d'icônes projet préconfigurées pour émuler des CPC464, CPC664,
        CPC6128, 464plus et 6128plus de base,
      - Ajout dans le menu de quelques préférences qui n'étaient jusqu'alors
        disponibles que via les types d'outil au démarrage,
      - Modification de la façon d'obtenir le nom de l'écran ouvert
        automatiquement lors du passage en plein écran de façon à ce qu'il
        corresponde toujours au nom de l'instance en cours,
      - Ajout d'un test de cohérence sur la commande à exécuter à chaque point
        d'arrêt (les commandes invalides sont maintenant ignorées),
      - Remaniement du démarrage en mode CLI pour mieux fonctionner avec
        PROGDIR:,
      - Correction d'un vieux bug lors du démarrage d'ACE qui empêchait le
        lancement multiple depuis le shell et le lancement depuis des icônes
        de type projet,
      - Ajout d'une requête au démarrage d'ACE pour choisir ce qu'il faut faire
        lorsqu'une autre instance est déjà en train de tourner,
      - Ajout d'une commande AREXX pour piloter l'icônification d'ACE,
      - Ajout des descripteurs de fichiers et des icônes associées pour
        permettre à Ambient de reconnaire les fichiers DSK, CPR et SNA, et d'y
        associer ACE,
      - Ajout d'une type d'outil FILES à paramètres multiples FILES qui
        reconnait automatiquement les fichiers fournis et les charge en
        conséquence dans ACE en tant que disquette, cassette, cartouche et/ou
        instantané,
      - Ajout d'un type d'outil LM=LAUNCHMODE pour choisir le mode de démarrage
        par défaut d'ACE : demander à l'utilisateur ("Ask user"), utiliser
        l'instance existante s'il y en a une ("Single") ou toujours lancer une
        nouvelle instance ("Multiple"),
      - Ajout d'un accès au guide utilisateur depuis le menu (utile pour ceux
        qui n'ont pas de touche HELP sur leur clavier).

    * Version 1.6 (21/04/2014) :
      - correction d'un bug dans l'entête des fichiers sauvés au travers de
        la passerelle vers le disque depuis l'interface cassette,
      - correction des couleurs initiales du Gate Array (PulkoMandy),
      - correction de l'inversion des tables de monochrome et noir et blanc
        pour l'émulation des modèles d'écrans (Krashan & PulkoMandy),
      - correction du menu de sélection du pointeur optique pour empêcher la
        multi-sélection,
      - correction d'un bug sur les instructions de bloc dans le désassembleur,
      - ajout d'un champ de taille dans l'entête des fichiers sauvés au travers
        de la passerelle vers le disque dur.
      - correction d'un bug dans la routine CASOutChar utilisée pour la
        passerelle vers le disque dur  (PulkoMandy),
      - amélioration de la compatiblité de la routine CASInChar de la passerelle
        vers le disque dur,
      - correction d'inconsistances dans la traduction anglaise,
      - correction de mots de vocabulaires dans les textes en français,
      - réagencement des gadgets de la fenêtre principale pour gagner de la
        place,
      - ajout du type d'outil DKB=DKTRONICSBUGS pour activer l'émulation d'une
        extension mémoire DK'Tronics (ces extensions gèrent mal les commutations
        du type &C3 lorsqu'une ROM haute est activée et ne permettent pas le
        masquage par la page I/O ASIC des CPC+),
      - ajout du type d'outil 64K=64KEXPMEMSCHEME pour émuler un CPC ayant
        64Kio de mémoire de base au lieu d'un CPC ayant une mémoire de base
        de 128Kio (sur les CPC ayant 64Kio de base c'est la mémoire centrale qui
        est commutée lors d'une tentative d'accès à une page non existante au
        lieu de la mémoire des 64Kio d'extension interne sur les CPC avec 128Kio
        de base),
      - légère réduction de la taille par défaut de la fenêtre principale en
        mode overlay,
      - ajout de la position courante du canon à électron dans la fenêtre des
        informations vidéo,
      - réagencement des fenêtres du Z80 et du CRTC,
      - ajout de compteurs utilisateur pour les microsecondes, les lignes et les
        trames,
      - retrait des points d'arrêt de la fenêtre principale pour les mettre dans
        la fenêtre Z80,
      - ajout de points d'arrêt sur de mauvaise HBL/VBL (mode Vanity-proof !),
      - ajout d'un véritable mode pas-à-pas (il n'est plus nécéssaire de
        l'activer et de le désactiver à la main),
      - ajout de l'option STEP à la commande AREXX START AREXX pour accéder au
        mode pas-à-pas facilement,
      - ajout de notification manquantes pour resynchroniser l'interface
        graphique suite à certaines actions via le port AREXX,
      - ajout du support des diodes en OSD en mode non overlay,
      - ajout d'une icône d'avance rapide en OSD,
      - nouvelle correction du dernier problème connu avec le CRTC 1 car celle
        effectuée dans la version 1.5 n'était pas correcte,
      - ajout de la compatibilité avec les microprocesseurs petit-boutistes
        (Pulkomandy).
      - ajout de commandes AREXX pour récupérer et remettre à zéro les compteurs
        utilisateurs,
      - ajout d'une commande AREXX pour récupérer l'état des derniers points
        d'arrêt activés,
      - ajout du type d'outil UBC=USERBREAKPOINTCOMMAND pour configurer une
        commande à exécuter à chaque activation d'un point d'arrêt,
      - ajout d'un mode observateur aux points d'arrêt configurables,
      - Remplacement du seuil par la notion de pas dans les points d'arrêt,
      - déplacement des préférences de l'écran à émuler dans une fenêtre séparée,
      - ajout de la possibilté de nommer les points d'arrêt configurables,
      - ajout de la possibilité de définir une condition complexe lors de la
        configuration des points d'arrêt,
      - optimisation de la gestion des points d'arrêt,
      - correction de divers problèmes sur les émulations CRTC 0/2/3/4,
      - ajout d'un point d'arrêt sur une position pointée à l'écran,
      - ajout d'une commande AREXX pour piloter le point d'arrêt par pointage à
        l'écran,
      - retrait des points d'arrêt sur tous les opcodes qui est désormais
        obsolète (remplacé par le véritable mode pas à pas),
      - déplacement de l'option de conversion des caractères CPC depuis les
        fenêtres d'édition mémoire, Z80 et du désassembleur vers le menu
        (ce réglage est désormais commun à toutes les fenêtres),
      - ajout d'un accès direct à toutes les tables de conversion existantes
        (automatique, anglaise, française, espagnole et danoise) depuis le menu,
      - ajout d'une option pour activer ou désactiver le décodage des RST
        système dans le désassembleur intégré (jusqu'alors ce décodage était
        toujours actif),
      - ajout de la ROM firmware danoise (version CPC6128) à l'arcihve d'ACE,
      - ajout de la détection du danois pour la sélection automatique de la ROM
        firmware au démarrage,
      - amélioration de la classe MUI interne pour la gestion de l'édition
        mémoire afin de tenir compte de la conversion des caractères en saisie
        et non seulement pour l'affichage,
      - ajout de la possibilité de rééssayer lorsque la mise à jour d'un DSK a
        échoué suite à un verrou partagé sur la fichier,
      - ajout du mode de saisie manuel des adresses,
      - ajout du tri alphabétique dans l'affichage du catalogue sur la
        passerelle vers le disque dur,
      - ajout d'une icône en OSD pour la pause,
      - réduction du nombre d'images par secondes par défaut à 10 au lieu de 60
        en vitesse débridée afin d'avoir une accélération plus notable,
      - amélioration de la commande AREXX KEYBOARDSTROKE pour tenir compte de
        la conversion des caractères depuis la machine hôte vers le CPC,
      - ajout d'une attente de sécurité en vitesse d'émulation débridée,
      - ajout du support manquant quant à la possiblité de désactiver une
        synchronisation en cours d'exécution sur CRTC 0 et 1.

    * Version 1.5 (07/04/2013) :
      - correction du texte de la fenêtre "À propos de...",
      - correction d'un bug mineur dans la gestion des erreurs au démarrage,
      - amélioration du format de gestion interne des disquettes,
      - nettoyage du code du Z80,
      - ajout de la possibilité de débrancher le lecteur B (le CP/M détectera
        alors un seul lecteur et adaptera son comportement),
      - correction du dernier problème connu dans l'émulation du CRTC type 1 (il
        est peut-être désormais parfait !),
      - légères améliorations dans l'émulation des CRTC 0, 3 et 4,
      - activation de l'accès à toutes les types de CRTC (les CRTC 0, 2, 3 et 4
        ne sont toutefois par encore terminé),
      - activation de l'accès à toutes les versions de Gate Array à l'exception
        40008,
      - gestion des différences de rendu des couleurs sur les divers Gate Array,
      - ajout de contrôles pour régler la luminosité de l'écran et la
        synchronisation verticale,
      - ajout du support complet de l'ASIC des CPC+ (y compris tous les bugs
        connus relatifs aux DMA, aux interruptions et au PPI),
      - Changement dans la présentation des fenêtres de l'éditeur de mémoire et
        du désassembleur,
      - ajout de l'accès aux modes de commutation mémoire spéciaux du CPC+ dans
        les fenêtres de l'éditeur de mémoire et du désassembleur,
      - correction d'un bug dans les fenêtres de l'éditeur de mémoire et du
        désassembleur qui aurait pu provoquer des tentatives de lecture dans
        de la mémoire désallouée lorsque la configuration des ROMs était changée
        via le port AREXX,
      - changements dans les mécanismes d'allocation mémoire des structures
        internes pour éviter de potentiels problème de dépassement de pile
        dans le futur,
      - correction d'un bug potentiel dans l'initialisation de la mémoire de
        l'émulateur,
      - optimisation des accès aux ports entrées/sorties du Z80,
      - légère augmentation de la taille par défaut de la fenêtre principale,
      - amélioration du rendu visuel des couleurs dans la fenêtre de l'analyseur
        de gate Array (les couleurs y sont maintenant représentées exactement
        comme dans l'émulateur lui-même en fonction du Gate Array sélectionné),
      - ajout du support des cartouches CPC+ via les fichiers CPR (une fausse
        cartouche est intelligemment émulée en fonction des ROM firmware et
        BASIC du CPC si aucune n'est insérée afin d'éviter des redémarrages
        inutiles lors de la commutation entre les modes CPC et CPC+),
      - ajout d'un type d'outil CARTRIDGESPATH pour choisir le chemin par défaut
        de stockage des cartouches CPC+ (fihiers CPR) ; par défaut
        "PROGDIR:Cartridges/" est utilisé,
      - ajout d'un type d'outil CPR=CARTRIDGE pour choisir une cartouche à
        insérer dès le démarrage de l'émulateur,
      - ajout d'un type d'outil PLUS=CPC+=AMSTRADPLUS pour forcer le démarrage
        en émulation CPC+ au lieu de CPC.
      - correction d'un bug qui empêchait la désallocation des canaux audio à la
        sortie,
      - toute la gestion audio est maintenant faire dans la classe interne du
        moteur d'émulation comme tout le reste,
      - correction d'un bug dans la lecture de valeurs sur les CRTC 3 and 4,
      - ajout de raccourcis sur les touches F9 et F10 pour insérer ou éjecter
        les cartouches CPC+,
      - ajout de l'émulation des pistolets optiques via la souris (les Trojan
        Light Phazer et Magnum Light Phaser sont gérés),
      - ajout du support de la mise à jour différée des registres internes de
        l'ASIC des CPC+ (ceci permet par exemple la gestion du positionnement
        des split rasters au pixel selon l'instruction Z80 utilisée),
      - ajout de l'accès à un répertoire partagé du disque dur de la machine
        hôte depuis le CPC émulé via l'interface cassette (à pleine vitesse,
        avec gestion des noms longs et des sous-répertoires selon les
        limitations du firmware du CPC) ; vous pouvez maintenant utiliser
        directement les fichiers de votre disque dur et éviter l'utilisation des
        fichiers DSK lorsque c'est possible (seuls les logiciels utilisant
        proprement le système d'exploitation peuvent tirer profit du répertoire
        partagé) ; la navigation dans les répertoire se fait naturellement
        comme en AmigaShell grâce à la commande OPENIN (CD n'existe pas sur CPC)
        en utilisant "/" pour le répertoire parent et ":" pour le répertoire
        racine ; l'affichage des catalogues trop longs peut être interrompue
        avec [ESC] ou mise en pause avec [CONTROL] ; le répertoire partagé par
        défaut est "PROGDIR:Share/" and peut-être configuré avec le type d'outil
        TAPE2HDPATH tooltype,
      - ajout du type d'outil TAPE2HD pour activer le répertoire partagé par
        défaut,
      - correction de bugs dans le système de trace interne pour le debuggage,
      - ajout d'une requête pour avertir de type d'outils invalides,
      - correction d'un bug de clignottement de l'affichage en vitesse
        d'émulation débridée qui avait été introduit en version 1.4,
      - correction de la requête de confirmation de sortie qui pouvait être
        bloquante lorsque plusieurs versions d'ACE tournaient en même temps,
      - ajout de la gestion de la section CPC+ dans les fichiers snapshot
        (compatible avec le format snapshot v3),
      - ajout de la signture d'ACE dans les snapshots,
      - ajout du type d'outils CARTRIDGESKEEPEXTROM pour désactiver
        l'invalidation automatique des ROM d'extension lorsqu'une cartouche est
        insérée,
      - ajout des commandes AREXX INSERTCARTRIDGE, EJECTCARTRIDGE,
        GETCARTRIDGDENAME, CRTC et GATEARRAY (RickD).
      - ajout de la gestion des extensions de fichier AMSDOS par défaut lors du
        chargement de fichiers sur le répertoire partagé (TAPE2HD) pour
        améliorer la compatibilité avec les programmes disquette.

    * Version 1.4 (18/07/2012) :
      - amélioration du saut automatique des trames,
      - amélioration de la gestion des événements internes,
      - optimisation du code d'émulation du Gate Array,
      - ajout de l'émulation différenciée des Gate Array 40007, 40008, 40010
        ansi que des réimplémentations sous forme d'ASIC 40226 et 40489 (seuls
        les 40007 et 40010 sont accessibles dans la version publique pour le
        moment),
      - correction d'un problème éventuel dans le calcul de régulation de la
        vitesse d'émulation en cas de vitesse processeur variable au cours du
        temps (PowerBook G4),
      - calage de la régulation de vitesse sur l'audio lorsque c'est possible
        pour éviter un problème de dérive (mis en évidence sur PowerBook G4),
      - suppression de la tâche audio (le traitement audio est maintenant fait
        dans la tâche d'émulation),
      - ajout d'un cache sur les trames vidéo pour éviter de rares cas où la
        trame affichée était altérée par celle en cours de calcul,
      - la mémoire des trames vidéo est maintenant gérée par la tâche
        d'émulation au lieu de la tâche graphique,
      - retrait de l'option FRAMESKIP qui n'a jamais bien fonctionné et qui est
        devenue inutile avec la nouvelle gestion des événements internes,
      - ajout de l'option MANUFACTURER pour choisir la marque du CPC à émuler
        parmi ISP, Triumph, Saisho, Solavox, Awa, Schneider, Orion et Amstrad
        (Amstrad est utilisé par défaut, sauf pour les pays germanophones où
        c'est Schneider),
      - correction de la fenêtre de l'analyseur Gate Array qui pouvait être
        parfois mal dimensionnée,
      - la touche "F12" est maintenant câblée sur la touche "Enter" du pavé
        numérique du CPC (ceci permet de continuer d'avoir accès à cette touche
        sur les claviers n'en ayant pas, notamment sur PowerBook G4),
      - la classe MUI HexEdit.mcc est désormais facultative et n'est plus
        fournie dans l'archive d'ACE (les fenêtres avancées en faisant usage
        ne seront simplement pas affichées complètement),
      - correction d'un bug introduit lors de la migration sous gcc 4 dans la
        gestion du nom de l'écran public en mode plein écran (il était devenu
        impossible d'avoir plusieurs instances d'ACE en plein écran en même
        temps),
      - nouvelle icône plus parlante pour l'utilisateur moyen,
      - correction de quelques fautes de frappes dans les traductions française
        et anglaises.
    * Version 1.3 (14/05/2012) :
      - correction de la police de caractères et de la skin par défaut utilisées
        lorsqu'un mode plein écran personnalisé est configuré afin de toujours
        hériter de celles de l'écran workbench,
      - empêchement de l'ouverture d'un mode plein écran plus grand que la
        résolution du mode graphique utilisé (dans le cas d'un écran "virtuel"
        utilisé pour l'écran workbench et dont ACE héritait),
      - les touches de raccourcis gèrent de nouveau la répétition,
      - correctifs dans la gestion des extensions DSK de Simon Owen (confusion
        entre la détection des "weak sectors" et des "data gap"),
      - amélioration du système de détection des DSK potentiellement mal
        générés,
      - retrait de la correction à la volée des tailles de GAP#3 et de piste des
        DSK car cela provoquait autant de problèmes que ça n'en corrigeait (les
        tailles de piste sont toujours corrigées silencieusement dans certains
        cas bien précis où aucun doute n'est possible),
      - correctifs dans l'émulation des commandes "read track", "read data" et
        "write data" du FDC,
      - ajout d'un délais lorsqu'un disque est échangé dans un lecteur sans
        avoir fait d'éjection préalable afin que le CPC émulé ait le temps
        de détecter le changement (utile pour des logiciels qui scannent
        le lecteur pour détecter les changements de disque comme B.A.T.,
        Fugitif ou Crime),
      - ajout de la gestion de l'extension DSK "Offset-info" de Simon Owen en
        lecture et en écriture (le block est reproduit dans les DSK qui le
        possédaient à l'origine et ignoré pour les autres),
      - ajout d'une demande de confirmation lorsqu'un disque doit être éjecté
        alors que les modifications qui y ont été apportées n'ont pas pu être
        retranscrites dans le fichiers disque image correspondant,
      - correction d'une mauvaise utilisation d'un FileInfoBlock dans la routine
        d'import DSK,
      - correction d'un bug dans la gestion du compteur de lignes du Gate Array
        introduit avec la version 1.2,
      - correction d'un bug dans le déclenchement de la synchronisation
        verticale du CRTC (désormais la Madness Demo fonctionne totalement),
      - correction d'un bug dans le déclenchement de la synchronisation
        horizontale du Gate Array introduit avec la version 1.2 (The Demo),
      - ajout d'un verrou sur la mise à jour de l'affichage vidéo pour évider
        la saturation de la pile d'événements MUI lorsque la mise à jour de
        l'interface graphique est suspendue pour une raison externe,
      - légère amélioration du saut automatique des trames en cas de manque de
        puissance,
      - correction d'un bug dans la prise en compte des signaux du Z80 par le
        Gate Array dans le cas des opcodes OUTD et OUTI (Beb),
      - ajout d'une option dans les types d'outils et le menu qui permet
        d'émuler des lecteurs de disquettes à accès instantanés (à activer avec
        prudence car elle est non compatible avec certains logiciels),
      - utilisation d'un gadget "Lamp" au lieu d'un "Color" pour la diode
        d'activité du lecteur de disquettes,
      - amélioration de la gestion des événements internes pour éviter les
        redondances,
      - correction d'un bug dans la gestion des points d'arrêt sur l'accès à des
        ports entrée/sortie,
      - simplifications dans le code d'émulation CRTC,
      - amélioration de la gestion de la prise en compte de l'offset sur CRTC 1,
      - ajout du support du mode entrelacé (gestion du registre 8),
      - simplication des fenêtres du Gate Array, du PSG et de la vidéo,
      - ajout d'informations dans la fenêtre du Gate Array,
      - ajout d'une prise en compte retardée de la mise à jour des registres
        12 et 13 par rapport à la gestion des compteurs internes du CRTC (Dream
        Demo End, Impossible),
      - gestion de l'affichage partiel de l'octet de transition et des artefacts
        lorsqu'une synchronisation horizontale ou verticale commence ou
        s'arrête (Camembert 4, Dream Demo 6, Dream Demo End, Madness Demo),
      - correction d'un bug lors du déclenchement de la synchronisation
        verticale lorsque le retard vidéo est actif (3D Scroll, Take It Easy).
    * Version 1.2 (29/01/2012) :
      - migration du code de gcc 2 vers gcc 4 pour un gain en taille et en
        vitesse non négligeable,
      - ajout du support du double clic sur la fenêtre principale pour
        commuter le mode plein écran,
      - ajout d'un désassembleur intégré basé sur le travail de Cristian Dinu
        (reconnaît toutes les instructions non documentées et interprète les
        instructions RST étendues du firmware Amstrad),
      - amélioration de la fenêtre Z80 par l'ajout d'une zone d'affichage de
        l'état de la pile (et de la mémoire pointée par ses éléments) et d'une
        zone de visualisation du code désassemblé pointé par PC (avec accès
        rapide aux points d'arrêt),
      - amélioration de la fenêtre de l'éditeur de mémoire,
      - nouvelle correction dans l'émulation CRTC 1 lorsque les registres 12 et
        13 sont modifiés durant le balayage des lignes du retard vidéo (phi2x),
      - correction de la désactivation de la bordure écran sur CRTC 1 lorsque
        le registre 6 est (re)programmé à une valeur non nulle lors de la
        première ligne d'une rupture (phi2x),
      - correction de la condition d'activation de la VBL durant une phase de
        gestion du retard vidéo,
      - amélioration des fenêtres des analyseurs PSG et Gate Array, et de
        l'éditeur CRTC,
      - ajout d'une fenêtre de désassemblage évoluée (navigation au fil des
        branchements, gestion des points d'arrêt, etc.),
      - meilleur découpage interne des modules CRTC et Gate Array pour la
        gestion des signaux de synchronisation vidéo,
      - optimisation du système de notification interne entre les différents
        objets représentant des états du CPC émulé,
      - ajout d'un panneau amovible d'accès rapide à la configuration des points
        d'arrêt dans la fenêtre principale,
      - désativation des options du menu qui sont sans effet lorsque la gestion
        des points d'arrêts est débrayée,
      - ajout d'une fenêtre de gestion détaillée des points d'arrêt,
      - ajout de commandes AREXX pour la gestion avancée des points d'arrêt,
      - amélioration de la gestion du clavier (filtrage et initialisation),
      - ajout de la possibilité d'activer ou de désactiver la conversion de la
        page de code ASCII du CPC vers celle de la machine hôte de façon
        indépendante pour chaque fenêtre d'édition (jusqu'à présent la
        conversion était tout le temps active pour toutes les fenêtres),
      - ajout des ROMs firmware espagnoles et danoises en version 1.0 (CPC464)
        dans l'archive d'ACE,
      - correction d'un bug dans la sélection des registres du PSG (phi2x).
    * Version 1.1 (18/09/2011) :
      - ajout du support des demi-cycles du Gate Array (la synchronisation entre
        le Gate Array, le CRTC et le Z80 est désormais parfaite),
      - correction de l'alignement synchro/display entre le Gate Array et le
        CRTC pour les CRTC 0, 1 et 2 (l'alignement était toujours celui des CRTC
        3 et 4),
      - correction dans l'émulation CRTC 1 lorsque les registres 12 et 13 sont
        modifiés durant le balayage des lignes du retard vidéo (R5),
      - légère amélioration des émulations CRTC 0, 2, 3 et 4 (seuls les CRTC 0
        et 1 sont activés dans la version publique pour le moment),
      - correction d'un bug dans la gestion des interruptions lorsqu'une VSync
        débutait alors qu'une HSync était en cours,
      - correction de fautes dans la traduction anglaise (Stefan A. Haubenthal).
      - améliorations dans la version française,
      - la classe Graph.mcc est désormais facultative ; ceci devrait permettre à
        ACE de tourner sous MorphOS 1.x, voir note 1 (Stefan A. Haubenthal).
    * Version 1.0p1 (16/08/2011) :
      - les arguments OFFSCREENCOLOR et SCANLINECOLOR provoquaient une lecture
        illégale à l'adresse $0 lorsqu'ils étaient omis (Grzegorz Kraszewski),
      - ACE pouvait planter lamentablement sur des systèmes localisés ni en
        français, ni en anglais (Grzegorz Kraszewski).
    * Version 1.0 (15/08/2011) :
      - première version publique.


ACE · Programmation

ContentsIndex< BrowseBrowse >




    Programmation


    Architecture et Programmation :
        * Philippe 'OffseT' Rimauro - mailto:offset@cpcscene.net

    Programmation additionnnelle :
        * 'RickD'

    Icônes :
        * David 'Davebraco' Braconnier

    Tests :
        * David 'Davebraco' Braconnier
        * 'RickD'
        * Antoine 'Tony' Reneaut - mailto:tony@cpcscene.net

    Documentation et traductions :
        * Philippe 'OffseT' Rimauro - mailto:offset@cpcscene.net

    Remerciements :
        * Julien 'Targhan' Nevo pour son support et ses exemples de code
          d'émulation du PSG,
        * Matthieu 'Grim' Gauzentes pour ses mesures précises des niveaux
          des couleurs et de mixage du PSG,
        * Gilles 'Zik' Rimauro pour ses mesures précises des signaux de
          synchronisations vidéo et ses conseils sur l'ergonomie d'ACE,
        * l'équipe de développement de Reloaded, dont la lecture des sources m'a
          permis de voir comment faire, mais aussi comment ne pas faire
          certaines choses.

  Outils utilisés :
        * MorphOS SDK et ses nombreux exemples,
        * Cubic IDE de Dietmar Eilert,
        * SimpleCat de Guido 'Geit' Mersmann,
        * DT2Raw de Christian 'tokai' Rosentreter,
        * Bin2C de Guido 'Geit' Mersmann,
        * Dt2RawImage de Ilkka 'itix' Lehtoranta,
        * lzmaLoader de Harry 'Piru' Sintonen.


ACE · Interface AREXX

ContentsIndex< BrowseBrowse >




    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 : si aucun paramètre n'est spécifié,
      retourne l'état du mode plein écran . Mettre ACTIVATE à 1 passe en mode
      plein écran, le mettre à 0 sort du plein écran. TOGGLE permute le mode
      courant. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré.

    * ICONIFY ACTIVATE/N,TOGGLE/S : si aucun paramètre n'est spécifié,
      retourne l'état du mode icônifié . Mettre ACTIVATE à 1 passe en mode
      icônifié, le mettre à 0 sort du mode icônifié. TOGGLE permute le mode
      courant. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré.

    * 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 : si aucun paramètre n'est spécifié, retourne
      l'état d'activation des  messages d'avertissement. Mettre ACTIVATE à 1
      active l'affichage des messages d'avertissement, le mettre à 0 le
      désactive. TOGGLE permute le mode courant. De plus, si ACTIVATE est
      spécifié, alors TOGGLE est ignoré.
      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 : si aucun paramètre n'est spécifié, retourne
    l'état d'activation de l'utilisation des touches du clavier à la place de la
    manette 0. Mettre ACTIVATE à 1 active l'option, le mettre à 0 la
    désactive. TOGGLE permute le mode courant. De plus, si ACTIVATE est
    spécifié, alors TOGGLE est ignoré

    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 : si aucun paramètre n'est spécifié,
      retourne l'état du mode de vitesse débridée. Mettre ACTIVATE à 1 passe en
      mode de vitesse débridée, le mettre à 0 retourne en vitesse réelle. TOGGLE
      permute le mode courant. De plus, si ACTIVATE est spécifié, alors
      TOGGLE est ignoré.

    * AUDIO=SOUND ACTIVATE/N,TOGGLE/S : si aucun paramètre n'est spécifié,
      retourne l'état de la sortie audio. Mettre ACTIVATE à 1 active la sortie
      audio, le mettre à 0 rend l'émulateur muet. TOGGLE permute le mode
      courant. De plus, si ACTIVATE est spécifié, alors TOGGLE est ignoré.

    * 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).

    * INSERTTAPE FILE/A TAP=TAPEAUTOPLAY/S : insère le fichier audio FILE dans
      lecteur de cassette et passe en lecture si TAPEAUTOPLAY est
      spécifié.

    * EJECTTAPE : éjecte le fichier audio du lecteur de cassette.

    * PLAYTAPE : passe le lecteur de cassette en lecture.

    * STOPTAPE : stoppe la lecture du le lecteur de cassette.

    * GETTAPENAME : retourne le nom du fichier audio inséré dans le lecteur de cassette.

    * 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.

    * GRAB FILE RAW/S : sauve une capture d'écran correspondant à ce qui est
      actuellement affiché par le CPC émulé. Si FILE n'est pas spécifié alors
      la capture est automatiquement sauvée dans le répertoire par défaut et le
      nom de fichier utilisé est retourné. Si RAW est spécifié, alors une
      capture d'écran brute sera sauvée (sans aucun lissage ni calcul d'aspect
      ratio).

    * 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 : si aucun paramètre n'est spécifié,
      retourne l'état d'activation des points d'arrêt. Mettre ACTIVATE à 1
      active la gestion des points d'arrêt, le mettre à 0 la désactive. TOGGLE
      permute la gestion courante. De plus, si ACTIVATE est spécifié, alors
      TOGGLE est ignoré.

    * 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é.


ACE · Passerelle vers le disque dur

ContentsIndex< BrowseBrowse >




    Passerelle vers le disque dur


    ACE offre la possibilité de partager un répertoire de votre disque dur avec
    le CPC émulé via l'interface cassette. Grâce à cette fonctionnalité vous
    pouvez accéder directement en lecture et en écriture aux fichiers d'un
    répertoire de votre choix. Les chargements se font à pleine vitesse (du
    point de vue du CPC les fichiers sont chargés/sauvés instantanément), vous
    avez accès aux noms longs jusqu'à 16 caractères (le maximum que permet le
    système d'exploitation du CPC) ainsi qu'aux sous-répertoires.

    Configurer la passerelle :

    Une fois l'option "Disque dur via la cassette" activée dans le menu d'ACE
    vous aurez donc accès au répertoire partagé via l'interface cassette. Vous
    pouvez également utiliser le type d'outil TAPE2HD pour l'activer par défaut.

    Si une ROM disque est installée (ce qui est généralement le cas) vous devrez
    utiliser la commande "|TAPE" ("ùTAPE" en azerty) pour passer sur l'interface
    cassette (la commande "|DISC" permet de retourner sur l'interface
    disquette). Une fois ceci fait, toutes les commandes de manipulation des
    fichiers (CAT, LOAD, SAVE, OPENIN, OPENOUT, etc.) vous donneront accès au
    répertoire partagé de votre disque dur.

    Par défaut ce répertoire est "PROGDIR:Share/" mais vous pouvez le changer
    avec le type d'outil TAPE2HDPATH. Pour des raisons de sécurité il n'est pas
    possible d'accéder aux fichiers et répertoires en amont de celui-ci. De
    plus, seuls les fichiers compatibles avec la limite de 16 caractères seront
    visibles (les autres sont masqués mais un message vous avertit de leur
    présence).

    Utiliser la passerelle :

    La commande CAT qui permet de lister les fichiers présents peut parfois
    renvoyer un nombre très important d'entrées si votre répertoire est bien
    garni. Le défilement risque alors de vous empêcher de voir les premiers
    fichiers de la liste. Pour remédier à ce problème vous pouvez maintenir la
    touche [CONTROL] pendant le défilement d'un catalogue ; l'affichage sera
    alors mis en pause. Vous avez également la possibilité de pressed [ESC]
    pour interrompre un catalogue à tout moment.

    En outre, le catalogue est affiché de manière détaillée afin d'identifier
    plus facilement vos fichiers.

    Voici un exemple de sortie :

    [HOME]
    Favorite Games/  [DIR]                 |
    Favorite Demos/  [DIR]                 |
    Menu.bas         11938 B$0170 0000 2E22|
    Music.bin         4055 B&6380 4000 0480|
    Music.wav            4MB*Data          |
    Readme.txt        3456 B*ASCII         |
    
    Et voici comment le lire :

    * La première ligne indique entre crochets le nom du répertoire en cours ;
      HOME désigne la racine du répertoire partagé.
    * Le mot-clef [DIR] désigne un répertoire.
    * La taille des fichiers est indiquée en octets (B), kilo-octets (KB),
      mega-octets (MB) et même giga-octets (GB) selon leur taille.
    * Le type des fichiers est réprésenté selon la norme classique sur CPC :
        $ pour un fichier BASIC,
        & pour un fichier binaire,
        % pour un fichier protégé,
        * pour un fichier non système (ASCII ou données brutes).

    Enfin, vous devez savoir que le système d'exploitation du CPC ne permet
    normalement pas la navigation dans les sous-répertoires ; il n'existe aucune
    commande pour cela. Pour pouvoir accéder aux répertoires via la passerelle
    vous devrez utiliser la commande "OPENIN" avec le nom du répertoire dans
    lequel rentrer suivi d'un "/" (il est de toute manière déjà affiché ainsi
    dans le catalogue). À noter que les noms de répertoire sont donc limités à
    15 caractères et non 16. Pour remonter d'un niveau la commande est
    simplement OPENIN"/" et pour retourner au répertoire de base il vous faudra
    utiliser OPENIN":" (tout simplement comme vous le feriez sous AmigaShell
    avec CD).

    Lors de l'ouverture des fichiers en lecture, pour faciliter l'usage des
    programmes existants, la gestion des extensions par défaut est compatible
    avec l'AMSDOS. À savoir que si le fichier n'est pas trouvé et a un nom de
    moins de 8 caractères, une nouvelle tentative sera faite avec l'extension
    ".", puis avec ".bas" et enfin avec ".bin".

    Lors de l'ouverture des fichiers en écriture aucune extension automatique
    ne sera ajoutée (comme c'est le cas avec l'interface cassette d'origine).

    Détails techniques :

    D'un point de vue technique, cette passerelle est implémentée via une
    version modifiée de la ROM firmware et une instruction non documentée du
    Z80. Lorsque la passerelle n'est pas active, tout est normal et l'émulation
    n'est aucunement altérée. Une fois la passerelle activée, la ROM firmware
    est modifiée à la volée pour utiliser cette instruction illégale du Z80
    dans son interface cassette. Dès lors, quand le Z80 rencontre cette
    instruction lors d'un accès à la ROM firmware, les fonctions spécfiques de
    la passerelle sont utilisées.

    Attention : la passerelle ne fonctionnera que si vous utilisez une des ROMs
    firmware officielles d'Amstrad (toutes les versions sont compatibles).


Converted using GuideML 3.15