ÉÍÎÎÄÏ *ÁÁÍÃHAÞ ÖAÐÑÛ* Éíîîäï - îïíõäððíï ðîäõçaêûìíâí ìaæìaöäìçþ, þáêþýùçèðþ öaðñûý öçîðäña Aëçâç. Íì íàïaàañúáaäñ ðáíç ðíàðñáäììúä éíëaìãú îòñäë DMA ãíðñòîa, öñí íæìaöaäñ öñí éíîîäï ïaàíñaäñ ìäæaáçðçëí íñ íðìíáìíâí îïíõäððíïa. Á ãíàaá- êäìçç é áúøäðéaæaìíëò éíîîäï - äðñû òîïíùäììúè RISC îïíõäððíï çëäýùçè áðäâí ñïç éíëaìãú , éíñíïúä àòãòñ ïaððëíñïäìú ãaêää. Éíîîäï þáêþäñðþ ëíùìäèøçë çìðñïòëäìñíë ãêþ îíããäïåéç óíïëçïíáaìçþ áçãäíçæíàïaåäìçþ Aëçâç , íì ëíåäñ ìäîíðïäãðñáäììí çæëäìþñû ïäâçðñïú öçîíá ç ñäë ðaëúë éíìñïíêçïíáañû ðîïaèñú, îaêçñïò, áçãäí-ïäåçëú , aòãçíéaìaêú ,àêçññäï ç ñ.ã. .Íãìçë æaëäöañäêûìúë ðáíèðñáíë éíîîäïa þáêþäñðþ ñí, öñí íì ëíåäñ ðçìôïíìçæçïíáañûðþ ð îíêíåäìçäë áçãäíêòöa. Á ïäåçëä íåçãaìçþ íîïäãäêäììíâí îíêíåäìçþ áçãäíêòöa éíîîäï ìäîíð- ïäãðñáäììí ðöçñúáaäñ ðöäñöçéç îíêíåäìçþ áçãäíêòöa. Üñí íöìaæaäñ, öñí, îíéa éíîîäï åãäñ æaãaììíè îíæçõçç êòöa íì ìä çðîíêûæòäñ øçìò ãaììúô áííàùä - ðííñáäñðñáäììí øçìa ðáíàíãìa ãêþ çðîíêûæíáaìçþ ãïòâçëç DMA éaìaêaëç çêç 680x0. Éíâãa éíîîäï ãíåçãaäñðþ îíêíåäìçþ êòöa íì çðîíêûæòäñ õçéêú îaëþñç àêçññäïa çêç 6800x0 ãêþ æaîçðç ãaììúô á ïäâçðñïú ðîäõçþêûìíâí ìaæìaöäìçþ. Éíîîäï - ãáòôñaéñìúè îïíõäððíï , íì æaîïaøçáaäñ øçìò ñíêûéí á ìäöäñìí-îïíìòëäïíáaììúä ñaéñú. Üñí îïäãíñáïaùaäñ ðñíêéìíáäìçþ ð aòãçí, ãçðéíáúë, ðîïaèñíáúë DMA ãíðñòîíë a ñaéåä ð áçãäí-DMA , éíñíïúä çðîíêûæòýñ öäñìúä ñaéñú øçìú. Éíîîäï ìòåãaäñðþ ñíêûéí á îïçíïçñäñä ìaã 680x0 ç àêçññäïíë (DMA éaìaê éíñíïúè îíããäïåçáaäñ aìçëaõçý, ïçðíáaìçä êçìçè ç æaêçáéò ëíâí- òâíêûìçéíá). Éaé ç êýàíè ãïòâíè DMA éaìaê á Aëçâä ,éíîîäï ëíåäñ áúîíêûìþñû ðáíç éíëaìãú ñíêûéí á öçî-îaëþñç. Ãaêää áú òæìaäñä éaé çðîíêûæíáañû çìðñïòéõçç éíîîäïa ãêþ óíïëçïíáaìçþ Áçãäíçæíàïaåäìçþ ç îíðêäãòýùäè ëíãçóçéaõçç; òæìaäñä éaé íïâaìçæíáañû éíëaìãú éíîîäïa á ðîçðéç , éaé çðîíêûæíáañû ðîçðéç éíîîäïa á öäïäæðñïíöìíë ïäåçëä, a ñaéåä éaé çðîíêûæíáañû éíîîäï ð àêçññäïíë. *ÖÑÍ ÑAÉÍÄ ÉÍËAHÃA ÉÍÎÎÄÏA ?* Éaé ðíîïíõäððíï , éíîîäï ãíàaáêþäñ ðáíç ðíàðñáäììúä çìðñïòéõçç é éíëaìãaë 680x0. Íì çëääñ áðäâí ñïç éíëaìãú (çêç çìðñïòéõçç) : o WAIT - íåçãaìçä æaãaììíè îíæçõçç êòöa á éííïãçìañä x,y. o MOVE - æaîçðû æìaöäìçþ á ïäâçðñïú ðîäõçaêûìíâí ìaæìaöäìçþ. o SKIP - îïíîòðñçñû ðêäãòýùòý éíëaìãò äðêç áçãäíêòö òåä ãíðñçâ æaãaììíè îíæçõçç ìa üéïaìä. Áðä çìðñïòéõçç éíîîäïa ðíðñíþñ çæ ãáòô ðêíá îí 16 àçñ. Éaåãúè ïaæ , éíâãa éíîîäï íàïaàañúáaäñ çìðñïòéõçý , íì íàïaàañúáaäñ íàa ðêíáa ðïaæò.Éíëaìãú MOVE ç SKIP áúîíêìþýñðþ æa 2 ñaéña , ìí ñ.é. éíîîäï çðîíêûæòäñ ñíêûéí ìäöäñìúä ñaéñú øçìú üñç éíëaìãú áúîíêìþñðþ æa áïäëþ 4-x ñaéñíá. Çìðñïòéõçþ WAIT ñïäàòäñ 3x ñaéñíá øçìú ç 6 ñaéñíá îí îïíãíêåçñäêûìíðñç áúîíêìäìçþ - 1 ñaéñ òôíãçñ ìa áúôíã çæ ïäåçëa íåçãaìçþ. Éíîîäï ëíåäñ áêçþñû ìäîíðïäãðñáäììí ñíêûéí ìa ïäâçðñïú öçîíá. Ãêþ ïaàíñú ð îaëþñûý éíîîäï ëíåäñ çðîíêûæíáañû àêçññäï. *ÇHÐÑÏÒÉÕÇÞ MOVE* Çìðñïòéõçþ MOVE ðêòåçñ ãêþ æaìäðäìçþ ãaììúô çæ îaëþñç á ïäâçðñïú öçîíá. Æaìíðçëúä ãaììúä ðíãäïåañðþ áí áñíïíë ðêíáä çìðñïòéõçç. Îäïáíä ðêíáí ðíãäïåçñ aãïäð ïäâçðñïa îíêòöañäêþ. ÎÄÏÁÍÄ ÐÊÍÁÍ ÇHÐÑÏÒÉÕÇÇ (IR1) Àçñ 0 Áðäâãa òðñaìíáêäì á 0. Àçñú 8-1 Aãïäð ïäâçðñïa îíêòöañäêþ (DA8-1). Àçñú 15-9 Hä çðîíêûæòýñðþ , ãíêåìú àúñû òðñaìíáêäìú á 0. ÁÑÍÏÍÄ ÐÊÍÁÍ ÇHÐÑÏÒÉÕÇÇ (IR2) Àçñú 15-0 Àçñú ãaììúô ãêþ æaîçðç á ïäâçðñï. Éíîîäï ëíåäñ æaìíðçñû ãaììúä á ðêäãòýùçä ïäâçðñïú : o Êýàíè ïäâçðñï , öäè aãïäð àíêää öäë $20. o Êýàíè ïäâçðñï , öäè aãïäð êäåçñ á ãçaîaæíìä $10-$20 äðêç àçñ íîaðìíðñç (danger bit) éíîîäïa òðñaìíáêäì á 1. Üñíñ àçñ ðíãäïåçñðþ á òîïaáêþýùäë ïäâçðñïä éíîîäïa - COPCON, éíñíïúè àòãäñ ïaððëíñïäì ìäëìíâí îíæãìää. o Éíîîäï ìä ëíåäñ æaìíðçñû ãaììúä á ïäâçðñïú , öäè aãïäð ëäìûøä $10. Hçåä îïäáäãäì îïçëäï çðîíêûæíáaìçþ MOVE çìðñïòéõçè - òðñaìaáêçáaýñðþ ãáa òéaæañäêþ ìa àçñîêaìú : îäïáúè ìa aãïäð $21000 , áñíïíè ìa $25000. DC.W $00E0,$0002 ; Æaìíðçñðþ $0002 á ïäâçðñï $0E0 (BPL1PTH) DC.W $00E2,$1000 ; Æaìíðçñðþ $1000 á ïäâçðñï $0E2 (BPL1PTL) DC.W $00E4,$0002 ; Æaìíðçñðþ $0002 á ïäâçðñï $0E4 (BPL2PTH) DC.W $00E6,$5000 ; Æaìíðçñðþ $5000 á ïäâçðñï $0E6 (BPL2PTL) Íàúöìí ð aððäëàêäïíë îíðñaáêþýñðþ ðîäõçaêûìúä ".i"-óaèêú ç aãïäða ñaë ìaæáaìú ðîäõçaêûìúëç çëäìaëç. Ðñïíâí ïäéíëäìãòäñðþ çðîíêûæíáañû üñç çëäìa ãêþ àíêää îïíðñíè ëíãçóçéaõçç îïíâïaëë ãêþ àòãòùçô çæëäìäìçè aïôçñäéñòïú. Áíñ éaé áúâêþãçñ ñíñ-åä ðaëúè îïçëäï : INCLUDE "hardware/custom.i" DC.W bplpt+$00,$0002 ; Æaìíðçñðþ $0002 á ïäâçðñï $0E0 (BPL1PTH) DC.W bplpt+$02,$1000 ; Æaìíðçñðþ $1000 á ïäâçðñï $0E2 (BPL1PTL) DC.W bplpt+$04,$0002 ; Æaìíðçñðþ $0002 á ïäâçðñï $0E4 (BPL2PTH) DC.W bplpt+$06,$5000 ; Æaìíðçñðþ $5000 á ïäâçðñï $0E6 (BPL2PTL) Îïçëäöaìçþ: 1. Øäìaãõañçïçöìúä öçðêa íñêçöaýñðþ íñ ãäðþñçöìúô îïäóçéðíë '$'. 2. Áðä îïçëäïú ìaîçðaìú ìa aððäëàêäïä. * ÇHÐÑÏÒÉÕÇÞ WAIT * Éíëaìãa WAIT æaðñaáêþäñ åãañû éíîîäï îíéa ðöäñöçéç áçãäíêòöa ìä àòãòñ ïaáìú (çêç àíêûøä) éííïãçìañ òéaæaììúô á çìðñïòéõçç. Á ïäåçëä íåçãaìçþ éíîîäï íðáíàíåãaäñ øçìò. Îäïáíä ðêíáí çìðñïòéõçç ðíãäïåçñ áäïñçéaêûìòý ç âíïçæíìñaêûìòý éííïãçìañò áçãäíêòöa. Áñíïíä ðêíáí ðíãäïåçñ "ëaðéò" éíñíïaþ îíéaæúáaäñ éaéçä àçñú ãíêåìú òöaáðñáíáañû á ðïaáìäìçç. ÎÄÏÁÍÄ ÐÊÍÁÍ ÇHÐÑÏÒÉÕÇÇ (IR1) Àçñú 15-8 Áäïñçéaêûìaþ îíæçõçþ êòöa (VP). Àçñú 7-1 Âíïçæíìñaêûìaþ îíæçõçþ êòöa (HP). Àçñ 0 Áðäâãa òðñaìíáêäì á 1. ÁÑÍÏÍÄ ÐÊÍÁÍ ÇHÐÑÏÒÉÕÇÇ (IR2) Àçñ 15 Àçñ "àêçññäï æaéíìöçê". Íàúöìí üñíñ àçñ òðñaìíáêäì á 1. Àçñú 14-8 Ëaðéa ãêþ áäïñçéaêûìíâí ðïaáìäìçþ. (VE). Àçñú 7-1 Ëaðéa ãêþ âíïçæíìñaêûìíâí ðïaáìäìçþ (HE). Àçñ 0 Áðäâãa òðñaìíáêäì á 0. Ðêäãòýùçè îïçëäï éíëaìãú WAIT - íåçãaìçä ðñïíéç 150 ($96) çâìíïçïòþ âíïçæíìñaêûìòý îíæçõçý. DC.W $9601,$FF00 ; Åãañû 150-ý ðñïíéò ; çâìíïçïòþ âíïçæíìñaêûìúä ðöäñöçéç. Ïaððëíñïçë ðêäãòýøçè îïçëäï : DC.W $FFFF,$FFFE ; Åãañû ðñïíéò 255, ; HP=254. Ðöçñaá ãaììòý éíëaìãò éíîîäï àòãäñ åãañû ãaììíè îíæçõçç , ìí ãaììíè îíæçõçç ìa üéïaìä ìä ðòùäðñáòäñ.Îíöäëò ñaéíè îíæçõçç ìä ðòùäðñáòäñ ? - VP=255 üñí áîíêìä ãíîòðñçëíä æìaöäìçä , a áíñ HP=254 ìäãíîòðñçëí ñ.é. ëaéðçëaêûìíä æìaöäìçä âíïçæíìñaêûìíâí îíêíåäìçþ êòöa - 226 ($E2). Éíîîäï àòãäñ åãañû ãaììòý îíæçõçý îíéa ìä îïçãäñ ðçâìaê íàïañìíâí ôíãa êòöa îí éaãïaë á ðêäãðñáçç öäâí éíîîäï æaîòðñçñðþ ð ìaöaêa ðáíäâí ðîçðéa éíëaìã. Áú ëíåäñä ðîïíðçñû - "Ñíâãa éíëaìãa DC.W $FEFF,$FFFE ñíåä îïçáäãäñ é "æaáçðaìçý" éíîîäïa ?" - ìäñ, ãíðñañíöìí áðîíëçìçñû ñí éaé éíîîäï ðïaáìçáaäñ æìaöäìçä îíæçõçç áçãäíêòöa ð æaãaììíè îíæçõçäè : éíîîäï áúôíãçñ ç ïäåçëa íåçãaìçþ äðêç ñäéòùaþ îíæçõçþ êòöa _àíêûøä_ çêç ïaáìa æaãaììíè. Îïç îäïäôíãä ðí ðñïíéç $FE ìa ðñïíéò $FF éíîîäï áúèãäñ çæ íåçãaìçþ ç îïíãíêåçñ ïaàíñò.Éíëaìãa DC.W $FFFF,$FFFE çðîíêû- æòäñðþ ãêþ æaáäïøäìçþ ðîçðéa éíîîäïa . Ãaêûøä ïaððëíñïäìú íðíàäììíðñç îíêíåäìçþ áçãäíêòöa , éaðaýùçäðþ éíëaìã WAIT ç SKIP . * ÂÍÏÇÆÍHÑAÊÛHAÞ ÎÍÆÇÕÇÞ ÁÇÃÄÍÊÒÖA * Âíïçæíìñaêûìþ îíæçõçþ êòöa , éaé áú òåä æìaäñä, êäåçñ á ãçaîaæíìä $0-$E2. Hí ñaé éaé ëêaãøçè àçñ ìä òöaáðñáòäñ îïç ðïaáìäìçç ãêþ éíîîäïa ãíðñòîìí 113 îíæçõçè. Éaåãaþ îíæçõçþ ïaáìa 4 îçéðäêaë á LoRes-ïaæïäøäìçç , 8-ëç á HiRes ç 16-ñç á SuperHiRes. Îäïçíã íàïañìíâí ôíãa êòöa îí ðñïíéaë îíîaãaäñ á ãçaîaæíì íñ $0F ãí $35. Ðñaìãaïñìúè üéïaì (øçïçìíè 320 îçéðäêíá) çëääñ ìäçðîíêûæòäëòý âíïçæíìñaêûìòý öaðñû $04-$47 (áí áïäëþ éíñíïíè íñíàïaåaäñðþ ñíêûéí õáäñ æaãìäâí îêaìa). Á NTSC ðñïíéç ìä íãìíè ç ñíè åä ãêçììú - íìç öäïäãòýñðþ ïaæëäïíë 227-228($E3). Á PAL ðñïíéç íãçìaéíáíè ãêçììú - 227. * ÁÄÏÑÇÉAÊÛHAÞ ÎÍÆÇÕÇÞ ÁÇÃÄÍÊÒÖA * Á üñíë ëäðñä ëú ïaððëíñïçë äãçìðñáäììòý îïíàêäëò , éíñíïaþ ëíåäñ áíæìçéìòñû ò áað îïç íåçãaìçç áäïñ. îíæçõçç - üñí íåçãaìçä ðñïíéç ìíëäï éíñíïíè àíêää öäë 255. Ðñíçñ æaëäñçñû öñí á ðñaìãaïñä NTSC 262 ðñïíéç ç 312 ðñïíé á PAL. Hçåä ìa îïçëäïä îíéaæaì ðaëúè îïíðñíè ðîíðíà íåçãaìçþ ðñïíéç ìíëäï éíñíïíè , ãíîòðñçë, ïaáäì 260 çâìíïçïòþ âíïçæíìñaêûìúä ðöäñöçéç : DC.W $FF01,$FF00 ; Åãäë îíæçõçý (0,255) DC.W $0401,$FF00 ; Åãäë îíæçõçý (0,ìòåìaþ ìaë îíæçõçþ-256) ; 260-256=4 Æaëäöaìçä : Á ïäåçëä öäïäæðñïíöìíè ïaæáäïñéç éíêçöäðñáí ðñïíé ïaæìíä - Á NTSC éíêçöäðñáí öäïäãòäñðþ æìaöäìçþëç 262-263 , á PAL 312,313. Áíñ éaé áúâêþãþñ ðñïíéç ç éaãïú á NTSC ð öäïäæðñïíöìíè ïaæáäïñéíè : éíïíñéçè éaãï æaéaìöçáaäñðþ ìa éíïíñéíè ðñïíéä ãêçììúè éaãï æaéaìöçáaäñðþ ìa ãêçììíè ðñïíéä éíïíñéçè éaãï æaéaìöçáaäñðþ ìa ãêçììíè ðñïíéä ãêçììúè éaãï æaéaìöçáaäñðþ ìa éíïíñéíè ðñïíéä ìaæaã é ìaöaêò ... 1 âíïçæíìñaêûìúè ðöäñ ïaáäì 1 ñaéñò ðçðñäëìúô öaðíá. NTSC - 3,579,545 Âõ PAL - 3,546,895 Âõ Âäìêíé - íðìíáìaþ öaðñíña öaðíá îêýð ëçìòð 2% * ÇÐÎÍÊÛÆÍÁAHÇÄ ÏÄÂÇÐÑÏÍÁ ÉÍÎÎÄÏA * Éíîîäï çëääñ ðêäãòýùçä ïäâçðñïú : o Ïäâçðñïú ëäðñíîíêíåäìçþ ðîçðéa éíëëaìã. o Ðñïíàíáúä ïäâçðñïú ãêþ æaîòðéa ðîçðéa. o Ïäâçðñï òîïaáêäìçþ. * Ïäâçðñïú Ëäðñíîíêíåäìçþ Ðîçðéa Éíëëaìã * Éíîîäï çëääñ ãáa ìaàíïa ñaéçô ïäâçðñïíá : COP1LCH Ðñaïøçä 3 àçña òéaæañäêþ ìa îäïáúè ðîçðíé éíëaìã. COP1LCL Ëêaãøçä 16 àçñ òéaæañäêþ ìa îäïáúè ðîçðíé éíëaìã. COP2LCH Ðñaïøçä 3 àçña òéaæañäêþ ìa áñíïíè ðîçðíé éíëaìã. COP2LCL Ëêaãøçä 16 àçñ òéaæañäêþ ìa áñíïíè ðîçðíé éíëaìã. Üñç ïäâçðñïú ðíãäïåañ ìaöaêûìúä æìaöäìçþ îïíâïaëëìíâí ðöäñöçéa ãêþ éaåãíâí çæ ðîçðéíá éíëëaìã.Ãêþ æaîòðéa éíîîäïa îí íãìíëò çæ ðîçðéíá ìòåìí áúãañû ðñïíà á ðííñáäñðñáòýùçè ðñïíàíáúè ïäâçðñï.Ñaéåä îïç íàïañìíë ôíãä êòöa îí éaãïaë îïíâïaëëìúè ðöäñöçé îäïäæaîçðúáaäñðþ æìaöäìçäë ïäâçðñïa ëäðñíîíêíåäìçþ ñäéòùäâí ðîçðéa éíëëaìã ç îïç üñíë ìäáaåìí öäë æaìçëaêðþ éíîîäï á üñíñ ëíëäìñ - íì îïíðñí ïäðñaïñòäñ ð ìaöaêa ðáíäâí ðîçðéa. * Ðñïíàíáúä Ïäâçðñïú * Áðäâí ñaéçô ïäâçðñïíá ãáa : COPJMP1 Æaîòðéaäñ éíîîäï ð aãïäða òéaæaììíâí á COP1LC COPJMP2 Æaîòðéaäñ éíîîäï ð aãïäða òéaæaììíâí á COP2LC Îïç îíîúñéä æaîçðç á üñç ïäâçðñïú éíîîäï ðñaïñòäñ ð aãïäða òéaæaììíâí á ïäâçðñïä COP1LC çêç COP2LC. * Ïäâçðñï Òîïaáêäìçþ * Éaé áú îíëìçñä , ðòùäðñáòýñ ìäéíñíïúä íâïaìçöäìçþ ìa æaîçðû ãaììúô éíîîäïíë á ïäâçðñïú öçîðäña. Áðîíëìçë çô : éíîîäï ëíåäñ ðáíàíãìí æaîçðúáañû á ïäâçðñïú öäè aãïäð àíêûøä $20 , ëíåäñ æaîçðúáañû ãaììçä á ïäâçðñïú êäåaøçä á ãçaîaæíìä $10-$20 äðêç òðñaìíáêäì àçñ íîaðìíðñç éíîîäïa ç ìä ëíåäñ æaîçðúáañû ãaììúä á ïäâçðñïú öäè aãïäð ìçåä $10.Ïäâçðñï òîïaáêäìçþ éíîîäïíë (COPCON) ðíãäïåçñ áðäâí 1 àçñ ( àçñ #1) éíñíïúè ìaæúáaäñðþ CDANG.Éíâãa üñíñ àçñ òðñaìíáêäì éíîîäï ëíåäñ æaîçðúáañû á ãçaîaæíì $10-$20. Á üñíë ãçaîaæíìä ìaôíãþñðþ ïäâçðñïú òîïaáêäìçþ àêçññäïíë. Îïçëäöaìçä : Àçñ CDANG íàìòêþäñðþ îïç ðàïíðä ëaøçìú. * ÐÍÆÃAHÇÄ ÐÎÇÐÉA ÉÍÎÎÄÏA * Ðîçðíé éíëaìã ãíêåäì ðíãäïåañû éíëaìãú ãêþ òðñaìíáéç á çðôíãìíä ðíðñíþìçä ïäâçðñïíá á ëíëäìñ íàïañìíâí ôíãa êòöa îí éaãïaë ç îíðêäãòäùäâí çô çæëäìäìçþ á êýàíè ëíëäìñ îíêíåäìçþ áçãäíêòöa. Áú ëíåäñä æaîêaìçïíáañû öñí ò áað ãíêåìí îïíèðôíãçñû á éaåãíè öaðñç üéïaìa , öaðñû çæ áðäô æaãaö ëíåìí îäïäãañû éíîîäïò ( áúáíã ðîïaèñíá , ïaæãäêäìçä áçãäíîíêäè , æáòé , îïäïúáaìçþ ) Ãêþ îïçëäïa , òéaæañäêç ìa àçñíáúä îêíðéíðñç ç ìa ðîïaèñú ãíêåìú àúñû íàìíáêäìú éaåãúè íàïañìúè ôíã êòöa îí éaãïaë . Áíñ éaé üñí áúâêþãçñ : (éíëaìãú éíîîäïa ìä òéaæaìú ãêþ àíêää îïíðñíâí îíìþñçþ öñí æãäðû îïíçðôíãçñ) Îíãíåãañû îäïáíè êçìçç ìa üéïaìä Æaîçðañû ãaììúä á òéaæañäêû ìa îäïáòý îêíðéíðñû Æaîçðañû ãaììúä á òéaæañäêû ìa áñíïòý îêíðéíðñû Æaîçðañû ãaììúä á òéaæañäêû ìa îäïáúè ðîïaèñ ç ñ.ã. * Îçëäï Îïíðñíâí , æaéíìöäììíâí ðîçðéa éíîîäïa * Ðêäãòýùçè îïçëäï - áîíêìä æaéíìöäììúè ðîçðíé éíëaìã éíîîäïa ðíãäïåaùçè íðìíáìúä éíëaìãú ãêþ óíïëçïíáaìçþ áçãäíçæíàïaåäìçþ.Üñíñ ðîçðíé ðíæãaì ãêþ ãáòô àçñíáúô îêíðéíðñäè ìaôíãþùçôðþ îí aãïäðaë $21000 ç $25000. Á áäïôìäè öaðñç üéïaìa õáäñíáúä ïäâçðñïú ãíêåìú çëäñû ðêäãòýùçä æìaöäìçþ : Ïäâçðñï Õáäñ COLOR00 àäêúè COLOR01 éïaðìúè COLOR02 æäêäìúè COLOR03 ðçìçè Ha 150è ðñïíéä üéïaìa , õáäñíáúä ïäâçðñïú îäïäæaâïòæþñðþ : Ïäâçðñï Õáäñ COLOR00 öäïìúè COLOR01 åäêñúè COLOR02 âíêòàíè COLOR03 ðçïäìäáúè Hçåä çãäñ ðîçðíé éíîîäïa. ; ; Æaëäöaìçþ : ; 1.Ðîçðíé éíîîäïa ãíêåäì àúñû á ChipRam . ; 2.Aãïäða òéaæañäêäè ìa àçñíáúä îêíðéíðñç áæþñú "ð îíñíêéa". ; 3.Çëääñðþ ááçãò , öñí áaøa îïíâïaëëa îíêìíðñûý éíìñïíêçïòäñ ; "åäêäæí" ëaøçìú ç íîäïaõçíììaþ ðçðñäëa òëäêí îïçíðñaìíáêäìa ; ìa ëíëäìñ ïaàíñú áaøäè îïíâïaëëú ,çìaöä ëíåäñ îïíçæíèñç ìäöñí ; ìäíïãçìaïìíä áúñäéaýùää á âòïò. :) ; 4.Îíöñç áðä îïçëäïú çðîíêûæòýñ îaëþñû - öñíàú ää çðîíêûæíáañû ; ìòåìí ää "îíîïíðçñû" ò ðçðñäëú ð îíëíùûý óòìéõçç AllocMem() ; a îíðêä ñíâí éaé òöaðñíé ïäæäïáçïíáaììíè îaëþñç áaë ìä ìòåäì ; íñãañû ää ðçðñäëä óòìéõçäè FreeMem() ; 5.Ðêäãòýùçä çìéêýãú ñïäàòýñðþ áðäëç îïçëäïaëç á üñíë ñäéðñä. ; INCLUDE "exec/types.i" INCLUDE "hardware/custom.i" INCLUDE "hardware/dmabits.i" INCLUDE "hardware/hw_examples.i" COPPERLIST: ; ; Òðñaìaáêçáaäë òéaæañäêç ìa ãáä àçñíáúä îêíðéíðñç ; DC.W BPL1PTH,$0002 ;Æaìoðçë S0002 á ïäâçðñï $0E0 (BPL1PTH) DC.W BPL1PTL,$1000 ;Æaìoðçë $1000 á ïäâçðñï $0E2 (BPL1PTL) DC.W BPL2PTH,$0002 ;Æaìoðçë $0002 á ïäâçðñï $0E4 (BPL2PTH) DC.W BPL2PTL,$5000 ;Æaìoðçë $5000 á ïäâçðñï $0E6 (BPL2PTL) ; ; Æaâïòåaäë õáäñíáúä ïäâçðñïú ; DC.W COLOR00,$0FFF ;Æaìíðçë àäêúè á ïäâçðñï $180 (COLOR00) DC.W COLOR01,$0F00 ;Æaìíðçë éïaðìúè á ïäâçðñï $182 (COLOR01) DC.W COLOR02,$00F0 ;Æaìíðçë æäêäìúè á ïäâçðñï $184 (COLOR02) DC.W COLOR03,$000F ;Æaìíðçë ðçìçè á ïäâçðñï $186 (COLOR03) ; ; Ãäêaäë òðñaìíáéò ìa çðîíêûæíáaìçä 2x àçñíáúô îêíðéíðñäè ; DC.W BPLCON0,$2200 ;2 àçñíáúä îêíðéíðñç á LoRes,õáäñ áéêýöäì ; ; Åãäë ðñïíéò 150 ; DC.W $9601,$FF00 ;Åãäë ðñïíéò 150, çâìíïçïòþ âíï.îíæçõçý. ; ; Ëäìþäë õáäña ; DC.W COLOR00,$0000 ;Æaìíðçë öäïìúè á ïäâçðñï $180 (COLOR00) DC.W COLOR01,$0FF0 ;Æaìíðçë åäêñúè á ïäâçðñï $182 (COLOR01) DC.W COLOR02,$00FF ;Æaìíðçë âíêòàíè á ïäâçðñï $184 (COLOR02) DC.W COLOR03,$0F0F ;Æaìíðçë ðçïäìäáúè á ïäâçðñï $186 (COLOR03) ; ; Æaéaìöçáaäë ðîçðíé éíëaìã íåçãaìçäë ìäáíæëíåìíâí. ; DC.W $FFFF,$FFFE ;Åãäë ðñïíéò 255,ðñíêàäõ 254 (ìçéíâãa ìä ;ðêòöçñðþ) * Æaîòðé éíîîäïa * Ãêþ æaîòðéa éíîîäïa ìa ìòåìúè ðîçðíé éíëaìã ìòåìí æaìäðñç aãïäð éíîîäï-ðîçðéa á íãçì çæ ïäâçðñïíá-òéaæañäêäè ìa éíîîäï ðîçðíé ç îíðêä üñíâí áúãañû ðñïíà öäïäæ ðñïíàíáúè ïäâçðñï . ; ; Æaîòðé éíîîäïa ; lea CUSTOM,a5 ;a5= aãïäð ïäâçðñïíá öçîðäña move.l #COPPERLIST,COP1LC(a5) ;æaìíðçë aãïäð ðîçðéa éíëaìã move.w COP1JMP(a1),d0 ;áúãaäë ðñïíà ; ; Îíðêä öäâí áéêýöaäë ïaðñïíáúè dma ç dma éíîîäïa ; move.w #(DMAF SETCLR!DMAF_COPPER!DMAF_RASTER!DMAF_MASTER),DMACON(a1) ; Ñäîäïû, äðêç æìaöäìçä COP1LC ìä çæëäìþñû, éaåãúè îäïçíã íàïañìíâí ôíãa êòöa îí éaãïaë éíîîäï àòãäñ îäïäæaîòðéañûðþ ð aãïäða òéaæaìíâí á COP1LC Ñ.ä. ëú ðíæãaêç õçéê, ç äðêç ðîçðíé àúê ðóíïëòêçïíáaì îïaáçêûìí ,áú òáçãçñä ðñaàçêûìíä çæíàïaåäìçä. Îïçëäöaìçä : ðîäõçaêûìúô éíëëaìã ãêþ íðñaìíáéç éíîîäïa ìä ðòùäðñáòäñ - ìí üñí ìä æìaöçñ öñí äâí ìäêûæþ íðñaìíáçñû - üñí ãäêaäñðþ ãáòëþ ðîíðíàaëç 1.Éíëaìãíè Wait ãêþ VP=255 ç HP=254 (éíîîäï íðñaìíáêäì ãí îïçôíãa ðçâìaêa íàïañìíâí ôíãa êòöa îí éaãïaë) 2.Áúéêýöäìçäë DMA éíîîäïa (éíîîäï íðñaìíáêäì ãí áéêýöäìçþ DMA) * ÇHÐÑÏÒÉÕÇÞ SKIP * Çìðñïòéõçþ SKIP îíæáíêþäñ éíîîäïò îïíîòðñçñû ðêäãòýùòý éíëaìãò äðêç áçãäíêòö ãíðñçâ çêç îäïäøäê îíæçõçý òéaæaììòý á éíëaìãä.Ðíãäïåaìçä çìðñïòéõçç çãäìñçöìí çìðñïòéõçç WAIT æa çðéêýöäìçäë àçña 0 áí áñíïíë ðêíáä çìðñïòéõçç - ò éíëaìãú SKIP íì òðñaìíáêäì á 1. ÎÄÏÁÍÄ ÐÊÍÁÍ ÇHÐÑÏÒÉÕÇÇ (IR1) Àçñú 15-8 Áäïñçéaêûìaþ îíæçõçþ (VP) Àçñú 7-1 Âíïçæíìñaêûìaþ îíæçõçþ (HP) Àçñ 0 Áðäâãa òðñaìíáêäì á 1 ÁÑÍÏÍÄ ÐÊÍÁÍ ÇHÐÑÏÒÉÕÇÇ (IR2) Àçñ 15 Àçñ "àêçññäï æaéíìöçê". Àçñú 14-8 Ëaðéa áäïñçéaêûìíâí ðïaáìäìçþ (VE) Àçñú 7-1 Ëaðêa âíïçæíìñaêûìíâí ðïaáìäìçþ (HE) Àçñ 0 Áðäâãa çðñaìíáêäì á 1 Îïçëäöaìçþ íñìíðçñäêûìí áäïñçéaêûìíè ç âíïçæíìñaêûìíè îíæçõçç íîçðaìú á ïaæãäêä WAIT-çìðñïòéõçç. Ðêäãòýùçè îïçëäï SKIP-éíëaìãú îïíîòðéaäñ ðêäãòýùòý æa éíëaìãíè çìðñïòéõçý äðêç VP àíêûøä çêç ïaáìí 100 ($64). DC.W $6401,$FF0F ;Äðêç VP >= 100 , îïíîòðñçñû ;ðêäãòýùòý çìðñïòéõçý (çâìíïçïòþ ðñaïøçä ;4 àçña HP) * ÇÐÎÍÊÛÆÍÁAHÇÄ ÉÍÎÎÄÏA Ð ÀÊÇÑÑÄÏÍË * Äðêç éíîîäï çðîíêûæòäñðþ ãêþ ïaàíñú ð àêçññäïíë. Éíîîäï ãíêåäì ãíåãañûðþ îíéa àêçññäï æaéíìöçñ ðáíý ïaàíñò ç áúãaðñ ðííñáäñðñáòýùää îïäïúáaìçä îïäåãä öäë îïíçæáäðñç ðêäãòýùòý íîäïaõçý ð àêçññäïíë çìaöä ëíâòñ îïíçæíèñç ðíáäïøäììí ìäîïäãðéaæòäëúä ïäæòêûñañú. Ãêa üñíâí ðîäõçaêûìí ááäãäì àçñ ìaæúáaäëúè "àêçññäï æaéíìöçê"(BFD).Íàúöìí üñíñ àçñ çëääñ æìaöäìçä 1.Éíâãa àçñ BFD = 0 êíâçéa éíëaìãú WAIT ëíãçóçõçïòäñðþ : éíîîäï àòãäñ åãañû îíéa êòö ìä ãíðñçâìäñ ðííñáäñðñáòýùäè îíæçõçç ç àêçññäï ìä æaéíìöçñ ðáíý íîäïaõçý. Îíðêä ñíâí éaé àêçññäï æaéíìöçñ ðáíä öäïìíä ãäêí :) àçñ BFD ðàïíðçñðþ á 0 ç WAIT æaïaàíñaäñ éaé íàúöìí. * Íàæíï Çðñïòéõçè Éíîîäïa * Ñaàêçõa îíéaæúáaäñ ìaæìaöäìçþ àçñíá ãêþ éíëaìã éíîîäïa : Move Wait Skip Àçñ# IR1 IR2 IR1 IR2 IR1 IR2 15 X RD15 VP7 BFD VP7 BFD 14 X RD14 VP6 VE6 VP6 VE6 13 X RD13 VPS VES VPS VES 12 X RD12 VP4 VE4 VP4 VE4 11 X RD11 VP3 VE3 VP3 VE3 10 X RD10 VP2 VE2 VP2 VE2 09 X RD09 VP1 VE1 VP1 VE1 08 DA8 RD08 VP0 VE0 VP0 VE0 07 DA7 RD07 HP8 HE8 HP8 HE8 06 DA6 RD06 HP7 HE7 HP7 HE7 05 DAS RD05 HP6 HE6 HP6 HE6 04 DA4 RD04 HPS HES HPS HES 03 DA3 RD03 HP4 HE4 HP4 HE4 02 DA2 RD02 HP3 HE3 HP3 HE3 01 DA1 RD01 HP2 HE2 HP2 HE2 00 0 RD00 1 0 1 1 X = ìä çëääñ æìaöäìçþ , ìí êòöøä òðñaìíáçñû á 0 (ãêþ àòãòùäè ðíáëäðñçëíðñç) IR1 = îäïáíä ðêíáí çðñïòéõçç IR2 = áñíïíä ðêíáí çðñïòéõçç DA = aãïäð ìaæìaöäìçþ RD = ãaììúä ãêþ îíêòöañäêa VP = àçñ áäïñçéaêûìíè îíæçõçç êòöa HP = àçñ âíïçæíìñaêûìíè îíæçõçç êòöa VE = àçñ ëaðéç áäïñçéaêûìíâí ðïaáìäìçþ HE = àçñ ëaðéç âíïçæíìñaêûìíâí ðïaáìäìçþ BFD = àçñ "àêçññäï æaéíìöçê" Éíìäõ.