Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hardware:copper_programming_model [2010/03/07 09:57]
gilgamesh some cleanup
hardware:copper_programming_model [2010/03/09 14:53] (current)
gilgamesh
Line 4: Line 4:
 Copper can call the CPU's attention by filing an interrupt request in ''INTREQ''. It can also move data into ''COPLC//n//'' to form a loop. To stop, Copper can either wait for the impossible, or turn its own access to DMA off. Copper can call the CPU's attention by filing an interrupt request in ''INTREQ''. It can also move data into ''COPLC//n//'' to form a loop. To stop, Copper can either wait for the impossible, or turn its own access to DMA off.
  
-===== Copper Lists ===== +===== Copper and Blitter ===== 
-Copper lists can consist of the following instructions:+ 
 +The ''CDANG'' bit in ''COPCON'' permits access to 1 the register address space between $40 and $7, including Blitter's registers.
  
-Copper can call the CPU's attention by filing an interrupt request in ''INTREQ''. It can also move data into ''COPLC//n//'' to form a loop. To stop, Copper can either wait for the impossible by ''$FFFF,$FFFF'', or turn its own access to DMA off.+^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^00^ ^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^  00  ^ 
 +| ||||||||||||||||::: | |||||||||||||||  cdang|
  
 +===== Copper Lists =====
 Copper lists can consist of the following instructions: Copper lists can consist of the following instructions:
  
Line 15: Line 18:
 During **WAIT** the memory bus will not be accessed, freeing it for different tasks. The bus is accessed at //uneven// memory cycles. During **WAIT** the memory bus will not be accessed, freeing it for different tasks. The bus is accessed at //uneven// memory cycles.
  
-^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ +^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^00^ ^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^00^ 
-|  VP  ||||||||  HP  |||||||1| |bfd|  VE  |||||||  HE  |||||||0|+|  VP  ||||||||  HP  |||||||1|::: |bfd|  VE  |||||||  HE  |||||||0|
  
   * ''VP'' vertical position 0,...,255: since there are 262 beam positions in NTSC, 0,...,6 refer to the last 7 lines before vertical blanking   * ''VP'' vertical position 0,...,255: since there are 262 beam positions in NTSC, 0,...,6 refer to the last 7 lines before vertical blanking
Line 26: Line 29:
 ==== MOVE ==== ==== MOVE ====
 moves data word into secified data register moves data word into secified data register
-^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ +^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^00^ ^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^00^ 
-|0|0|0|0|0|0|0|0|  DA  |||||| |0| | |  data  ||||||||||||||||+|0|0|0|0|0|0|0|0|  DA  |||||| |0|::: | |  data  ||||||||||||||||
  
   * ''DA'': the destination register's address   * ''DA'': the destination register's address
Line 35: Line 38:
 skip next instruction if video beam counter is greater or equal the argument skip next instruction if video beam counter is greater or equal the argument
  
-^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ +^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^00^ ^15^14^13^12^11^10^09^08^07^06^05^04^03^02^01^00^ 
-|  VP  ||||||||  HP  |||||||1| |bfd|  VE  |||||||  HE  |||||||0|+|  VP  ||||||||  HP  |||||||1|::: |bfd|  VE  |||||||  HE  |||||||0|
  
 (see ''WAIT'' for reference) (see ''WAIT'' for reference)
Line 47: Line 50:
 |  COP2LC  |  080  |  2 words  | |  COP2LC  |  080  |  2 words  |
  
- 
-===== Copper and Blitter ===== 
- 
-The ''CDANG'' bit in ''COPCON'' permits access to 1 the register address space between $40 and $7, including Blitter's registers. 
- 
-^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ 
-| |||||||||||||||| | |||||||||||||||  cdang| 
  
hardware/copper_programming_model.1267952276.txt.gz · Last modified: 2010/03/07 09:57 by gilgamesh
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0