# ROMANTIC ROBOT
PRESENT
THE INSIDER

Written by D. Vivian and M. Edwards
(c) Romantic Robot UK Ltd 1988
For AMSTRAD CPC464/664/6128 with MULTIFACE 2

The INSIDER is a unique Z80 programming aid designed for exclusive use with the MULTIFACE 2: By residing OUTSIDE the CPC 464/664/6128, it can look INSIDE ANY program and disassemble it. The INSIDER loads into the MULTIFACE 8K extension RAM and does not occupy any CPC RAM. Thus you can RUN a program as usual, INTERRUPT it with the MULTIFACE STOP button and examine its operation in minute detail - if you wish to see (and even alter) whatever happens INSIDE any program at any moment, just ask THE INSIDER! It offers you instant access to:

- Z80 DISASSEMBLER - including undocumented opcodes.
- FIND- Search for text, op-codes etc.
- FRONT PANEL DISPLAY of Z80 CPU - Registers, Program counter, Interrupt.
- VIEW memory as NUMBERS or ASCII characters.
- ALTER contents of MEMORY or REGISTERS
- HEX or DECIMAL Output to SCREEN or PRINTER

Although some knowledge of the Z80 machine code is needed to make the most of the INSIDER, the power to examine every detail of any program is an invaluable learning aid.

### LOADING

To load the INSIDER, ensure the MULTIFACE is switched ON (provided it has the invisibility switch), insert the disk, type RUN"I" (+ RETURN) or RUN "DISC, (+ RETURN) to install the INSIDER into your MULTIFACE. Next, BEFORE LOADING a program you wish to inspect, RESET the CPC using CTRL-SHIFT-ESC (not the MULTIFACE RESET as this corrupts the INSIDER). Then RUN and STOP the program whenever you wish. Pressing the MULTIFACE STOP button will now bring the INSIDER menu. To return to the MULTIFACE menu, press ANY key while at the same time pressing the STOP button. The INSIDER disc MUST be kept in drive 'A' whilst you are actually using this program, as it is too large to fit inside the MULTIFACE and different parts are loaded as required.

IMPORTANT: Do NOT activate (press the STOP button) the INSIDER BEFORE loading programs saved by the MULTIFACE - wait until the MULTIFACED programs are FULLY loaded.

NOTE: At any point during the program: Pressing SPACE will toggle between paged and scrolling mode.
Pressing RETURN when in paged mode will display the next page.
Pressing ESC will return to the main menu.

### THE MAIN MENU

Each option is selected by pressing its inversely printed letter, i.e. D for Disassemble.

L - LOWER ROM. Toggle between the Lower ROM or RAM in the lower 16k.

U - UPPER ROM. Toggle between the currently selected Upper ROM or RAM in the highest 16K.

S - SELECT UPPER. Select any of your UPPER (sideways) ROMs to be paged in. Type in the ROM number which will then be displayed (either in decimal or hex depending what mode you are in).

R - BANKED ROM. Select which RAM bank (0-16) is paged in the second 16K bank area (with the bank 0 being the normal RAM).

0 - OUT TO SCREEN/PRINTER. Toggle between output to screen and output to screen & printer.

1 - LINE FEED. Toggle to send Line Feed (Chr$ 10) with or without Carriage Return (Chr$13).

R - RETURN. This returns to the program being examined. The screen, colours & sound are restored and execution is continued from the point at which the stop button was pressed.

D - DISASSEMBLE - Full Z80 disassembler using standard Zilog mnemonics. A number of valid Z80 op-codes were omitted from the official Z80 instruction set. These are not guaranteed to work on every Z80 processor but are used nonetheless. The extra op-codes are disassembled with the appropriate suffix for IX and IY extensions. i.e. DD,84 ADD A,IXH or CB,37 = SLL A.

F - FIND. This will present you with four options (plus ESC to return to Main Menu):
Enter number sequence (1): Enter a sequence of numbers, each separated by pressing RETURN. Pressing RETURN without entering a number will terminate the sequence.
Enter text sequence (2): Enter the text in ASCII characters, press RETURN to terminate.
Set search start address (3): Set address at which the search will start.
Do search (4): Search from the address set until the string is found or the counter reaches 65535. If no address has been specified it will search from the point at which the search last terminated.

T - TEXT. View memory contents as ASCII characters. Unprintable characters are displayed as '.'

N - NUMBER. View memory contents as Hex or Decimal numbers.

Z - Z80. View contents of Z80 registers in Hex or Decimal. Flags are shown by letter, upper case signifying the flag is set, for example "Zc" indicates the 'Z' flag is set, and the 'C' Carry flag is clear. The interrupt status is shown as EI or DI, the interrupt mode being shown as IM 1 or IM 2. To alter the value of the registers, use the cursor left/up and right/down to step through, When the register you wish to alter is shown, enter the new value and press RETURN, Press ESC to exit.
Mi stands for maskable interrupt, only bits 0 and 2 have any meaning:
[Bit 0: 0 = IM 1 (or IM 0) 1 = IM 2 ][Bit 2: 0 = Interrupts disabled (DI) 1 = Interrupts enabled (EI).]

P - POKE. Enter an address and the value to be poked into it,

H - HEX- All numbers entered and displayed from now on will be in HEX.

D - DEC. All numbers entered and displayed from now on will be in DECIMAL.

The INSIDER and all of its associated documentation, code, visual presentation and text are the exclusive property of ROMANTIC ROBOT UK Ltd. and are protected worldwide by Copyright laws. The INSIDER may not be duplicated, copied, transferred, reproduced, lent, hired, transmitted, translated, modified or stored in part or whole by any means or in any form without the express written permission of ROMANTIC ROBOT UK Ltd., 54 Deanscroft Avenue, London NW9 8EN.
Telephone 081 -200 B870. Fax 081 -200 4075.

PRICE £14.95 on disk plus p&p £1.00 to UK, £2.00 to Europe and, £3.00 Overseas.

Scanned by Paul Collins. OCRed by Kevin Thacker.