" />
AREXX interface ACE exposes an extended AREXX interface that will allow you to do almost everything you want! With the help of REXX, everything is possible, everything can be automated! Your creativity will have no limits! Here is the list of the available commands on the ACE's AREXX port. Application commands: * VERSION: Return the ACE version number. * HIDE: Iconify ACE. * SHOW: Show ACE if it was iconified. * QUIT: Quit ACE. * FULLSCREEN ACTIVATE/N,TOGGLE/S: Return the full screen status. If ACTIVATE is set, TOGGLE is ignored. Setting ACTIVATE at 1 activates the full screen, 0 go back to the windowed mode. TOGGLE switches the current mode. * SCREENTOFRONT: Put the screen ACE is opened on to front. * SCREENTOBACK: Put the screen ACE is opened of to back. * WINDOWTOFRONT: Put ACE's main window to front. * WINDOWTOBACK: Put ACE's main window to back. * WARNINGS ACTIVATE/N,TOGGLE/S: Return or change the warnings display preference (warnings are about the DSK or SNA loading). * KEYJOY ACTIVATE/N,TOGGLE/S: Return or change the keyboard mapping of joystick 0 preference. Emulator commands: * RESET HARD/S: Reset or reboot the emulator. * PAUSE: Pause the emulator. * START STEP/: Restart the emulator. If TYPE is specified, only one single Z80 instruction will be executed (step by step mode). * CRTC CRTC=TYPE/N : If TYPE is specified, select the CRTC type to emulate (0 to 4, 3 is Amstrad Plus). If not, return the current emulated CRTC type. Warning: the Gate Array version might be changed too if it is not compatible with the new CRTC type. * GATEARRAY GATEARRAY=VERSION/N : If VERSION is specified, select the Gate Array version to emulate (40007, 40010, 40226 or 40489, the last one is the Amstrad Plus). If not, return the current emulated Gate Array version. Warning: the CRTC type might be changed too if it is not compatible with the new Gate Array version. * WILDSPEED ACTIVATE/N,TOGGLE/S: Return or change the wild speed preference. * AUDIO=SOUND ACTIVATE/N,TOGGLE/S: Return or change the audio preference. * INSERTDISC FILE/A,DRIVE: Insert a disc image FILE in to the drive DRIVE (0/1 or A/B, drive A is the default one). * EJECTDISC DRIVE: Eject the disc image from the drive DRIVE. * GETDISCNAME DRIVE: Return the file name of the disc image inserted in the drive DRIVE. * INSERTCARTRIDGE FILE/A FORCE/S : Insert a cartridge CPR FILE in the cartridge port (Amstrad Plus only). FORCE will switch the ACE in Amstrad Plus mode if it was not the case. * EJECTCARTRIDGE : Eject the cartridge image file inserted (Amstrad Plus only). * GETCARTRIDGENAME : Return the file name of the cartridge image inserted in the cartridge port (Amstrad Plus only). * LOADSNA FILE/A: Load a snapshot file named FILE. * SAVESNA FILE/A: Save a snapshot of the current emulator state into a file named FILE. * FLASHROM FILE/A,ROM/A/N: Load a file named FILE as an upper ROM number ROM. * REMOVEROM ROM/A/N: Remove the upper ROM number ROM. * RAWKEYPRESS KEY=CODE/A/N: Simulate a key press of the key CODE (being the physical key number from the CPC keyboard layout). * RAWKEYRELEASE KEY=CODE/A/N: Simulate a key release of the key CODE. * RAWKEYSTROKE KEY=CODE/A/N,DELAY/N: Simulate a key press then release of the key CODE (physical key number of the CPC keyboard) by waiting a DELAY (in microseconds) between the actions. The default DELAY is 19968 microseconds (one frame), the max value is 1000000 microseconds (one second). * KEYBOARDSTROKE STR=STRING/A/F: Simulate a full key press and release from a string STRING. It is different from RAWKEYPRESS, RAWKEYRELEASE and RAWKEYSTROKE because this command depend on the type of keyboard (AZERTY ou QWERTY) and the installed firmware ROM is used to perform the translation. Cross-development commands: * POKE ADR=ADDRESS/A/N,VAL=VALUE/A/N,LINEAR/S: Poke a byte VALUE at the address ADDRESS in the emulated CPC memory. If LINEAR is set, the address will be considered as linear to the full CPC memory (0x0000-0xFFFF = main RAM, 0x10000-0x1FFFF = first 64KB page of the extension RAM, ..). * PEEK ADR=ADDRESS/A/N,LINEAR/S: Peek a byte. * LOAD FILE/A,ADR=ADDRESS/N,OFT=OFFSET/N,LEN=LENGTH/N,LINEAR/S,RAW/S: Load the content FILE from OFFSET, with a maximal LENGTH, at ADDRESS. If RAW is set, then any binary header will be ignored. ADDRESS is mandatory if no header is present. * SAVE FILE/A,ADR=ADDRESS/A/N,LEN=LENGTH/A/N,EXE=EXECUTION/N,LINEAR/S,RAW/S: Save a part of the CPC memory into a FILE. * OUT PORT/A/N,VAL=VALUE/A/N: Put a byte VALUE on the CPC port address PORT. * INP PORT/A/N : Read a byte from the CPC port address PORT. * BREAKPOINTS ACTIVATE/N,TOGGLE/S: Return or set the breakpoints preference. * SETBREAKCONDITIONS VBL/S,HBL/S,OPCODE/S,INT=INTERRUPT/S,DISC=DISCACCESS/S, BADVBL/S,BADHBL/S: Set or unset a break condition. * ADDBREAKPOINT TYPE/A,ADR=ADDRESS/A/N,ADRMASK=ADDRESSMASK/N,ACCESS, VAL=VALUE/N,VALMASK=VALUEMASK/N,CONDITION,STEP/N,NAME,WATCHER/S: Set a breakpoint of type TYPE (EXECUTE, MEMORY ou PORTS) named NAME for an access ACCESS (READ-ONLY, WRITE-ONLY ou READ-WRITE), at the address ADDRESS, depending on a mask ADDRESSMASK, for a value VALUE with a mask VALUEMASK every STEP under the condition CONDITION. Note 1: If WATCHER is specified the breakpoint will not stop and will just update the match count. Note 2: If a breakpoint with the same options exists, then the CONDITION, STEP, NAME and mode (WATCHER) are updated. Note 3: Value and mask are ignored for execution breakpoints. Note 4; Default address mask value is 0xFFFF (it means "exact match"). Note 5: Default value mask is 0x00 (it mean "any value match"). * REMOVEBREAKPOINT TYPE/A,ADR=ADDRESS/N,ADRMASK=ADDRESSMASK/N,ACCESS, VAL=VALUE/N,VALMASK=VALUEMASK/N,ALL/S: Remove a breakpoint of type TYPE (EXECUTE, MEMORY or PORTS) for an access ACCESS (READ-ONLY, WRITE-ONLY or READ-WRITE), at the address ADDRESS, with a mask ADDRESSMASK, for a value VALUE using a mask VALUEMASK. If ALL is specified then all the breakpoints of type TYPE are deleted (other parameters are then ignored). * AF VAL=VALUE/N: Get or set the AF register of the Z80. * BC VAL=VALUE/N: See AF. * DE VAL=VALUE/N: See AF. * HL VAL=VALUE/N: See AF. * SP VAL=VALUE/N: See AF. * PC VAL=VALUE/N: See AF. * AFx VAL=VALUE/N: Secondary register; see AF. * BCx VAL=VALUE/N: Secondary register; see AF. * DEx VAL=VALUE/N: Secondary register; see AF. * HLx VAL=VALUE/N: Secondary register; see AF. * IX VAL=VALUE/N: See AF. * IY VAL=VALUE/N: See AF. * I VAL=VALUE/N: 8 bit register; see AF. * GETUSERCOUNTER TYPE/A : return the current value of the user counter of type TYPE. Theses counters counters are associated to the ones from the Z80 window and the possible values are: . MICROSECONDS for the microseconds counter. . LINES for the line counter. . FRAMES for the frame counter. * RESETUSERCOUNTER TYPE/A : reset remet the user counter specified with TYPE. The possible values are the same than from GETUSERCOUNTER. * GETLASTBREAKTYPE : return the status for the last activated breakpoint(s). This option is very useful inside scripts executed at breakpoints activation because it allows you to know in which conditions the break occurred. The status is returned in the form of a string formated as followed: [Execution][I/O Port][Memory][Interrupt][HBL][VBL][Bad HBL][Bad VBL][Disc access][Step by step][On screen break] Each section under brackets is related to a type of breakpoint and will contain "-" if the associated type of breakpoint was not active during the last break. If it was active, then the related section will contain its name if it was named or a string with the name of the type of breakpoint if it was not. * ONSCREENBREAK X/A/N,Y/A/N : set a breakpoint for the display position X,Y. This position are related to the video frame fly and do not depend of graphic resolution. Note: this breakpoint is related to the breakpoint "Break on the mouse clicked position" available from the "Monitoring" menu and only one can be set at once.