[#1] Copper i DMA
Mam sobie taką copperlistę, skrót poniżej:

...
	@0x2c160: 636DFFFE - WAIT: 108,99
	@0x2c164: 01400083 - MOVE: 140 := 0083 ; coś na sprite'ach
	@0x2c168: 01480083 - MOVE: 148 := 0083
	@0x2c16c: 014E0000 - MOVE: 14E := 0000
	@0x2c170: 014C0000 - MOVE: 14C := 0000
	@0x2c174: 01460000 - MOVE: 146 := 0000
	@0x2c178: 01440000 - MOVE: 144 := 0000
	@0x2c17c: 638DFFFE - WAIT: 140,99
	@0x2c180: 014000A3 - MOVE: 140 := 00A3 ; znowu coś ze spr
	@0x2c184: 014800A3 - MOVE: 148 := 00A3
	@0x2c188: 014E0000 - MOVE: 14E := 0000
	@0x2c18c: 014C0000 - MOVE: 14C := 0000
	@0x2c190: 01460000 - MOVE: 146 := 0000
	@0x2c194: 01440000 - MOVE: 144 := 0000
	@0x2c198: 00840002 - MOVE: 084 := 0002 ; skok na 2E498
	@0x2c19c: 0086E498 - MOVE: 086 := E498
	@0x2c1a0: 008A0001 - MOVE: 08A := 0001
	...
	@0x2e498: EC05FFFE - WAIT: 4,236
	@0x2e49c: 00960100 - MOVE: 096 := 0100 ; wyłączam ekran
	@0x2e4a0: 014A0001 - MOVE: 14A := 0001 ; harce na sprite'ach
	@0x2e4a4: 01420000 - MOVE: 142 := 0000
	@0x2e4a8: ECC7FFFE - WAIT: 198,236
	@0x2e4ac: 009400D0 - MOVE: 094 := 00D0 ; zmiana 'viewporta'
	@0x2e4b0: 00920038 - MOVE: 092 := 0038
	@0x2e4b4: 01080000 - MOVE: 108 := 0000
	@0x2e4b8: 010A0000 - MOVE: 10A := 0000
	@0x2e4bc: 01020000 - MOVE: 102 := 0000
	@0x2e4c0: 00E00002 - MOVE: 0E0 := 0002
	@0x2e4c4: 00E21AA0 - MOVE: 0E2 := 1AA0
	@0x2e4c8: 00E40002 - MOVE: 0E4 := 0002
	@0x2e4cc: 00E610C8 - MOVE: 0E6 := 10C8
	@0x2e4d0: 00E80002 - MOVE: 0E8 := 0002
	@0x2e4d4: 00EA06F0 - MOVE: 0EA := 06F0
	@0x2e4d8: 00EC0001 - MOVE: 0EC := 0001
	@0x2e4dc: 00EEFD18 - MOVE: 0EE := FD18
	@0x2e4e0: 00968100 - MOVE: 096 := 8100 ; włączam ekran?
	@0x2e4e4: FFFFFFFE - WAIT: 254,255 ; koniec

Problem w tym, że ekran za cholerę nie chce się ponownie włączyć. Co robię nie tak? ;)
Oczywiście zmiana 'viewporta' działa bez problemu jak nie wyłączam ekranu na chwilę, ale z pewnych względów chcę go wyłączyć.

Ostatnia aktualizacja: 01.09.2017 22:17:46 przez teh_KaiN
[#2] Re: Copper i DMA

@teh_KaiN, post #1

DMA coppera nie wyłączasz czasami ?. Inna opcja, czy jak wył. ekran to czy Wait zadziała ?.

Ostatnia aktualizacja: 01.09.2017 22:50:40 przez sigma2pi
[#3] Re: Copper i DMA

@sigma2pi, post #2

Coppera nie wyłączam, wyłączam tylko DMAF_RASTER. Wywaliłem WAITa zastępując go dublem DMACON := 0100 i nic to nie zmieniło, poza tym że mam teraz białe śmieci na ostatniej linii ekranu - dużo niżej niż się spodziwałem.

Pozycja 236 odnosi się do pozycji 192, gdyż diwstrt pionowy to 0x2C (44).
[#4] Re: Copper i DMA

@teh_KaiN, post #3

Sprawdziłem u siebie, bo akurat miałem gotowy program z własną Copperlistą. Wyłączanie i ponowne włączanie DMA bitplanów działa. Sprawdzałeś na real sprzęcie?

Ostatnia aktualizacja: 02.09.2017 08:29:42 przez Hexmage960
[#5] Re: Copper i DMA

@Hexmage960, post #4

Nie, jeszcze nie, bo sprzęt w tej chwili mam w rozsypce. Dobra, zostawię to na później i zajmę się póki co innymi rzeczami, skoro to działa.

Jak by Ci się nudziło to możesz sprawdzić moje exe lub pobawić się kodem z mojego repozytorium.

UUUPS, projekt wylazł z działu prywatnego. ;)
[#6] Re: Copper i DMA

@teh_KaiN, post #5

No i rozwiązałem swój problem. Copper czyni wszystko jak najbardziej okej. To po prostu dolny viewport mi się skurczył o 1 piksel przez jedną czarną linię i moje nadgorliwe w trybie debug funkcje od bitmap nie rysowały bitmapy bo wymiar buforu docelowego był mniejszy niż obrazka źródłowego. Zmęczenie robi swoje. ;)

Swoją drogą, szkoda że sprite'y się nie rysują na wyłączonym bitplane dma.

Ostatnia aktualizacja: 07.09.2017 17:14:40 przez teh_KaiN
[#7] Re: Copper i DMA

@teh_KaiN, post #6

Cieszę się, że rozwiązałeś problem, choć trudno było do tego dojść na podstawie dostarczonych przez Ciebie informacji.

Zmęczenie robi swoje. ;)

Fakt, kod Twojej gry jest dosyć obszerny, włożyłeś dużo pracy.

Swoją drogą, szkoda że sprite'y się nie rysują na wyłączonym bitplane dma.

No spritey muszą się na czymś rysować. Zawsze możesz włączyć 0 bitplanów.

Tak na marginesie to powiem Ci, że programowanie na Amigę jest wbrew temu co piszesz całkiem fajne, przecież dla wygody programistów gier Commodore dostarczało takie lowlevel.library do AmigaOS3.1 z konsolą Amiga CD32.

Wiem, że jesteś fanem A500, ale warto mieć to na uwadze.

Skoro robisz grę zupełnie od podstaw musisz liczyć się z przeciwnościami.

Wszak nawet na PC masz już gotowe narzędzia.

Ja nie mam aż takiego dużego doświadczenia w programowaniu na Amigę pod sprzęt. Od zawsze programowałem pod system, nawet gry.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem