home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / new / misc / emu / z80 / z80_signals.txt < prev    next >
Text File  |  1993-12-21  |  3KB  |  71 lines

  1. Z80 Control Signals:
  2.  
  3.   MREQ    (Output, active low)
  4.     Signals that the address on the address bus is a valid memory address.
  5.  
  6.   RD    (Output, active low)
  7.     Signals that the  Z80 is ready to read from the data bus. Present only
  8.     when the address bus holds a valid address.
  9.  
  10.   WR    (Output, active low)
  11.     Signals that the  Z80 wants to send data, and is present only when the
  12.     address bus holds a valid address and the data bus valid data.
  13.  
  14.   M1    (Output, active low)
  15.     Indicates  that  the z80  is  in  Machine Cycle  1  State (Instruction
  16.     fetch.)
  17.  
  18.   IOREQ (Output, active low)
  19.     Indicates that the address on the address bus (mainly a0 to a7, but a8
  20.     to  a15 are  also used    with some  instructions) is  a valid  I/O port
  21.     address.
  22.        Normal I/O operations never occur during M1. The combination M1 and
  23.     IORQ is used to acknowlede (INTA) a maskable interrupt.
  24.  
  25.   RFSH    (Output, active low)
  26.     Indicates that    a0 to a6 hold  an address that can  be used to refresh
  27.     dynamic memories. MREQ appears with RFSH.
  28.  
  29.   HALT    (Output, active low)
  30.     Indicates  that  the  CPU  has halted  following  a  Halt instruction.
  31.     Meanwhile, the memory refresh continues.
  32.  
  33.   WAIT    (Input, active low)
  34.     Used  by memory or  I/O to indicate  that the  requested data transfer
  35.     cannot yet take place. The CPU pauses and no memory refresh is done.
  36.  
  37.   RESET (Input, active low)
  38.     i)  PC, I and R are set to zero.
  39.     ii) Interrupts are disabled. Interrupt Mode 0 is set.
  40.  
  41.   BUSRQ (Input, active low.)
  42.     At the end of the current machine cycle, z80 sets all bus signals, the
  43.     data-  and the    address bus  to a high    impedance state.  When this is
  44.     done, it sets BUSAK low.
  45.  
  46.   BUSAK (Output, active low)
  47.     Reply to a BUSRQ. Indicates that the z80 has released the buses.
  48.  
  49.   NMI    (Input, triggered by a negative edge.)
  50.     Current  instruction finishes.    IFF1 is copied    to IFF2.  IFF1 is then
  51.     reset. PC is set to Hex 0066. The RETI instruction copies IFF2 to IFF1
  52.     and pulls the PC from the stack.
  53.  
  54.   INT    (Input, active low. Detected only if IFF1 is set.)
  55.     IFF1 and IFF2 are reset. Current instruction finishes. Z80 sets M1 and
  56.     IORQ low and waits.
  57.        In mode 0, the calling device  is expected to put an instruction on
  58.     the data bus during the next cycle. If the instruction takes more than
  59.     one  byte,  the  remaining  bytes  are    read  one  after  one  without
  60.     incrementing the PC.  The instruction must be a Call or Rst, since the
  61.     PC is not automatically pushed on the stack in mode 0.
  62.        In mode 1, the  data bus is ignored.  The PC is pushed on the stack
  63.     and then set to Hex 0038.
  64.        In mode 2, the PC is pushed    on the stack before IORQ goes low. The
  65.     calling device    puts the lower 8  bits of the address of the interrupt
  66.     vector    on the data  bus during the  next cycle. The  upper 8 bits are
  67.     taken from  the I register. PC    is then loaded from the full interrupt
  68.     vector address.
  69.        IORQ and M1 go back high and the routine is serviced.
  70.  
  71.