COPPER

The Copper has 3 instructions, so it is a very simple little processor, but combined with the other aspects of the Amiga and the ability of the Copper to write data into many hardware registers make it a powerful little beast in the Amiga.

The instructions are: WAIT, MOVE and SKIP.

Of these SKIP is very rarely used, most of the things can be made with just the WAIT and MOVE instructions.

  • WAIT can wait for a specific rasterline vertically and on an OCS (Original ChipSet) Amiga the horizontal resolution is in lowres 4 px, highres 8 px.
  • MOVE can move a word of data (16-bits), used to move data into dataregisters of the special chips.

SYNTAX:

  • WAIT <beamposition>,<mask> both <beamposition> and <mask> are 16-bit words, so the CPU can address these as a 32-bit longword pair
  • MOVE <address>,<data> here too <address> and <data> are 16-bit, and the CPU can address them as a pair

 

WAIT <beamposition>,<mask>

Timing: 4 cycles

FIRST WAIT INSTRUCTION WORD (IR1)
----------------------------------------------------------------------------- 
    Bit 0              Always set to 1.
     Bits 15 - 8     Vertical beam position  (called VP).
     Bits 7 - 1       Horizontal beam position  (called HP).

SECOND WAIT INSTRUCTION WORD (IR2)
-----------------------------------------------------------------------------
     Bit 0             Always set to 0.
     Bit 15           The  blitter-finished-disable bit .  Normally, this
                         bit is a 1. (See the "Advanced Topics" section below.)
     Bits 14 - 8    Vertical position compare enable bits (called VE).
     Bits 7 - 1      Horizontal position compare enable bits (called HE).

 

MOVE <address>,<data>

Timing: 4 cycles

FIRST MOVE INSTRUCTION WORD (IR1)
     ---------------------------------
     Bit 0                    Always set to 0.
     Bits 8 - 1             Register destination address (DA8-1).
     Bits 15 - 9           Not used, but should be set to 0.

SECOND MOVE INSTRUCTION WORD (IR2)
-----------------------------------------------------------------------------
     Bits 15 - 0          16 bits of data to be transferred (moved)
                                to the register destination.
 

SKIP <beamposition>,<mask>

Timing: 6 cycles

FIRST SKIP INSTRUCTION WORD (IR1)
-----------------------------------------------------------------------------
          Bit 0              Always set to 1.
          Bits 15 - 8     Vertical position  (called VP).
          Bits 7 - 1       Horizontal position  (called HP). 
                               Skip if the beam counter is equal to or
                               greater than these combined bits
                               (bits 15 through 1).

SECOND SKIP INSTRUCTION WORD (IR2)
----------------------------------------------------------------------------- 
         Bit 0             Always set to 1.
          Bit 15           The  blitter-finished-disable bit .
          Bits 14 - 8    Vertical position compare enable bits (called VE).
          Bits 7 - 1      Horizontal position compare enable bits (called HE).

 

 

This page will be updated with more information and a new layout.....

Published on  March 16th, 2013