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/06 10:45] gilgamesh copper instructions |
hardware:copper_programming_model [2010/03/09 14:53] (current) gilgamesh |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Programming Copper ===== | + | ====== Programming Copper ====== |
+ | Writing to one of the two registers '' | ||
- | ==== Copper Lists ==== | + | Copper can call the CPU's attention by filing an interrupt request in '' |
+ | |||
+ | ===== Copper and Blitter ===== | ||
+ | |||
+ | The '' | ||
+ | |||
+ | ^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 Lists ===== | ||
Copper lists can consist of the following instructions: | Copper lists can consist of the following instructions: | ||
- | === WAIT === | + | ==== WAIT ==== |
- | (2 word) 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^09^08^07^06^05^04^03^02^01^00^ |
- | | VP |||||||| | + | | VP |||||||| |
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ | + | ==== MOVE ==== |
- | |bfd| | + | moves data word into secified data register |
+ | ^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| | ||
- | === MOVE === | + | * '' |
- | (2 word) moves data word into secified | + | * '' |
- | ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ | + | |
- | | 00000000 | + | |
- | ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ | + | ==== SKIP ==== |
- | || data |||||||||||||||| | + | skip next instruction if video beam counter is greater or equal the argument |
- | === SKIP === | + | ^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^ |
- | (2 word) skip next instruction if video beam counter is greater or equal the argument | + | | VP |||||||| |
- | ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ | + | (see '' |
- | | VP |||||||| | + | |
- | ^15^14^13^12^11^10^9^8^7^6^5^4^3^2^1^0^ | + | ===== Copper' |
- | |bfd| | + | | |
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||