Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
hardware:copper_programming_model [2010/03/07 00:09] gilgamesh |
hardware:copper_programming_model [2010/03/09 14:53] gilgamesh |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Programming Copper ====== | ====== Programming Copper ====== | ||
- | Writing to one of the two registers '' | + | Writing to one of the two registers '' |
+ | |||
+ | Copper can call the CPU's attention by filing an interrupt request in '' | ||
+ | |||
+ | ===== Copper and Blitter ===== | ||
The '' | The '' | ||
- | ^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^ |
- | | |||||||||||||||| | ||||||||||||||| | + | | ||||||||||||||||::: | ||||||||||||||| |
- | + | ||
- | Copper can call the CPU's attention by filing an interrupt request in '' | + | |
===== Copper Lists ===== | ===== Copper Lists ===== | ||
Copper lists can consist of the following instructions: | Copper lists can consist of the following instructions: | ||
- | Copper can call the CPU's attention by filing an interrupt request in '' | + | ==== WAIT ==== |
- | + | ||
- | Copper lists can consist of the following instructions: | + | |
- | + | ||
- | === WAIT === | + | |
waits until video beam counter is greater or equal the argument | waits until video beam counter is greater or equal the argument | ||
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 |||||||| | + | | VP |||||||| |
* '' | * '' | ||
Line 29: | Line 27: | ||
* '' | * '' | ||
- | === 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| | + | |0|0|0|0|0|0|0|0| |
* '' | * '' | ||
* '' | * '' | ||
- | === SKIP === | + | ==== SKIP ==== |
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 |||||||| | + | | VP |||||||| |
(see '' | (see '' | ||
Line 51: | Line 49: | ||
| COP1LC | | COP1LC | ||
| COP2LC | | COP2LC | ||
- | |||